EntityIterable cache doesn't appear to respect ENTITY_ITERABLE_CACHE_SIZE #112
Replies: 4 comments
|
Hi Dan Gravell (@gravelld) you misunderstood object which you should observe, it should be |
|
I saw The This iterable cache always weighs in at a hefty 12MB so I was hoping to reduce its size (I'm running in a constrained environment). And besides - I thought the The Log caching sizing does work, btw. For that I use: |
|
Dan Gravell (@gravelld) classes you list are part of the query processing, not the cache itself. If you wish us to investigate this issue, please fill the case in the bug tracker and provide a reproducer. As for now, it is hard to understand if the problem does exist. We use the given parameter daily |
|
Thanks - I'll revisit the issue assuming it's a query that is being processed or used. |
Uh oh!
There was an error while loading. Please reload this page.
I'm doing this:
I then load some data into my Xodus entity store and take a heap dump at the end.
No matter if I
setEntityIterableCacheSizeor leave it at the default the end memory consumption is the same - about 15MB. The same structure is built by the EntityIterableCache - aPersistentLinkedHashMapwith the same number of levels and objects inside. I can seeNonAdjustablePersistentObjectCachehas the size correctly passed through.I can see there's a
RemoveEldestFunctionwhich appears to do cache eviction. It asks for the size of the contained map, and this is implemented byRootTableNodewhich currently has its size set to 5 - thus it never evicts.Do I misunderstand the purpose of this setting? I guess so.
(Aside)
MAX_DEFAULT_ENTITY_ITERABLE_CACHE_SIZEhas an odd name - it appears to not be a maximum but a minimum:(i.e. a number related to the heap size or
MAX_DEFAULT_ENTITY_ITERABLE_CACHE_SIZE, whichever is larger)All reactions