-
Bug
-
Resolution: Done
-
Critical
-
None
-
None
-
None
If expiration is enabled together with the file-store persistence there is a leak, accumulating on every invocation of the expiration reaper.
Class Name | Shallow Heap | Retained Heap ------------------------------------------------------------------------------------------------------------------------------------------- org.infinispan.persistence.manager.PersistenceManagerImpl @ 0x4fcb97c40 | 104 | 4,928,584,776 |- stores java.util.ArrayList @ 0x4fcb97ed8 | 24 | 4,928,584,544 | |- elementData java.lang.Object[1] @ 0x4fcb97ef0 | 24 | 4,928,584,520 | | |- [0] org.infinispan.persistence.manager.PersistenceManagerImpl$StoreStatus @ 0x4fcb97f08 | 32 | 4,928,584,496 | | | |- store org.infinispan.persistence.async.AsyncNonBlockingStore @ 0x4fcb97f28 | 64 | 4,928,584,432 | | | | |- actual org.infinispan.persistence.sifs.NonBlockingSoftIndexFileStore @ 0x4fcb97f68 | 72 | 4,928,584,320 | | | | | |- fileProvider org.infinispan.persistence.sifs.FileProvider @ 0x4fcb9dde0 | 56 | 4,928,525,000 | | | | | | |- iterators java.util.concurrent.ConcurrentHashMap$KeySetView @ 0x4fcb9f040 | 24 | 4,928,520,064 | | | | | | | |- map java.util.concurrent.ConcurrentHashMap @ 0x4fcb9f058 | 64 | 4,928,520,040 | | | | | | | | |- table java.util.concurrent.ConcurrentHashMap$Node[8192] @ 0x51728cc50 | 32,784 | 4,928,519,976 | | | | | | | | | |- [453] java.util.concurrent.ConcurrentHashMap$Node @ 0x517294f20 | 32 | 6,178,544 | | | | | | | | | | |- next java.util.concurrent.ConcurrentHashMap$Node @ 0x517294f40 | 32 | 4,636,560 | | | | | | | | | | |- key org.infinispan.persistence.sifs.FileProvider$FileIterator @ 0x4fe0bc128| 24 | 1,541,952
To mitigate this, if possible, the expiration reaper interval should be set to a lower frequency
`<expiration interval="600000"/>`
This will change the frequency from 1 minute (default) to 10 minutes.
If it is expected that only a few entries expire in a preiod, or you have long expiration, like lifespan weeks or month, the interval might be set to 86400000 (1day) or 604800000 (1 week).
This depends on the size of entries which are expiring and the amount of memory used by the RHDG instance.
- is cloned by
-
ISPN-14869 Compactor is not closing the file iterator on expiration check and causing heap accumulation
- Resolved