-
Sub-task
-
Resolution: Done
-
Major
-
9.1.0.Final
-
None
Currently you can only insert 10000 elements into the rocks db store until you will block a thread until the expiration reaper is ran.
By default it will be running each minute and the client will totally block.
cacheManager.defineConfiguration("weather", new ConfigurationBuilder() .persistence() .addStore(RocksDBStoreConfigurationBuilder.class) .location("target/data") .expiredLocation("target/expired") .expiration().lifespan(5, TimeUnit.SECONDS) .build()); cache = cacheManager.getCache("weather"); int max = 10001; for (int i=0; i<max; i++) { cache.put(UUID.randomUUID().toString(), UUID.randomUUID().toString()); }
The test took 60478ms.
9999 = 1773 ms
10000 = 1797 ms
Removing the queue and writing directly to RocksDB will be faster than the current code
- clones
-
ISPN-7912 Prevent RocksDBStore writes blocking on full expiry queue
- Closed