This is probably something that we are doing incorrectly, but it has me scratching my head.
We are running Oak embedded in a web application. We construct a repository at startup using fairly standard construction: DocumentNodeStore ns= new DocumentMK.Builder().setMongoDB(createMongoDB()).getNodeStore(); Oak oak = new Oak(ns); LuceneIndexProvider provider = new LuceneIndexProvider(); Jcr jcr = new Jcr(oak).with((QueryIndexProvider) provider).with((Observer) provider) .with(new LuceneIndexEditorProvider()).withAsyncIndexing(); repository = jcr.createRepository(); Looking at the JVM memory using JVisualVM, we see that memory usage increases over time. Using heap dumps, we've determined that oak object is constantly growing in terms of memory footprint. Obviously the object will never be garbage collected, but I'm trying to track down why it is growing over time. Our interactions with Oak all follow the same pattern: Session session = repository.login(credentials, null); ... do some work session.logout(); Any thoughts on possible reasons for Oak to keep increasing in size? Thanks, Jim