Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-8197 Improve RocksDB performance
  3. ISPN-10963

Remove blocking queue from RocksDBStore

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Done
    • Icon: Major Major
    • 10.1.0.Final
    • 9.1.0.Final
    • Loaders and Stores
    • 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

              dlovison@redhat.com Diego Lovison
              dlovison@redhat.com Diego Lovison
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: