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

Remove blocking queue from RocksDBStore

    XMLWordPrintable

Details

    Description

      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

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: