Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-13957

Unable to create cache with RocksDB store via REST

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Hide
      Index: server/tests/src/test/java/org/infinispan/server/functional/RocksDBRestIT.java
      IDEA additional info:
      Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
      <+>UTF-8
      ===================================================================
      diff --git a/server/tests/src/test/java/org/infinispan/server/functional/RocksDBRestIT.java b/server/tests/src/test/java/org/infinispan/server/functional/RocksDBRestIT.java
      new file mode 100644
      --- /dev/null	(date 1655371485705)
      +++ b/server/tests/src/test/java/org/infinispan/server/functional/RocksDBRestIT.java	(date 1655371485705)
      @@ -0,0 +1,44 @@
      +package org.infinispan.server.functional;
      +
      +import static org.infinispan.commons.dataconversion.MediaType.APPLICATION_JSON;
      +import static org.infinispan.server.test.core.Common.sync;
      +import static org.junit.Assert.assertEquals;
      +
      +import org.infinispan.client.rest.RestCacheClient;
      +import org.infinispan.client.rest.RestClient;
      +import org.infinispan.client.rest.RestEntity;
      +import org.infinispan.client.rest.RestResponse;
      +import org.infinispan.server.test.junit4.InfinispanServerRule;
      +import org.infinispan.server.test.junit4.InfinispanServerRuleBuilder;
      +import org.infinispan.server.test.junit4.InfinispanServerTestMethodRule;
      +import org.junit.ClassRule;
      +import org.junit.Rule;
      +import org.junit.Test;
      +
      +/**
      + * @author Ryan Emerson
      + * @since 14.0
      + */
      +public class RocksDBRestIT {
      +   @ClassRule
      +   public static final InfinispanServerRule SERVER =
      +         InfinispanServerRuleBuilder.config("configuration/BasicServerTest.xml")
      +               .numServers(1)
      +               .build();
      +
      +   @Rule
      +   public InfinispanServerTestMethodRule SERVER_TEST = new InfinispanServerTestMethodRule(SERVER);
      +
      +   @Test
      +   public void testCreateRocksDBStore() {
      +      RestClient client = SERVER_TEST.rest().create();
      +
      +      String cacheConfig = "{\"local-cache\":{\"rocksdb-store\":{\"path\":\"rocksdb/data\",\"expiration\":{\"path\":\"rocksdb/expired\"}}}}";
      +
      +      RestCacheClient cacheClient = client.cache("rocks");
      +      RestEntity config = RestEntity.create(APPLICATION_JSON, cacheConfig);
      +      RestResponse response = sync(cacheClient.createWithConfiguration(config));
      +      System.out.println(response.getBody());
      +      assertEquals(200, response.getStatus());
      +   }
      +}
      
      Show
      Index: server/tests/src/test/java/org/infinispan/server/functional/RocksDBRestIT.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/server/tests/src/test/java/org/infinispan/server/functional/RocksDBRestIT.java b/server/tests/src/test/java/org/infinispan/server/functional/RocksDBRestIT.java new file mode 100644 --- /dev/ null (date 1655371485705) +++ b/server/tests/src/test/java/org/infinispan/server/functional/RocksDBRestIT.java (date 1655371485705) @@ -0,0 +1,44 @@ + package org.infinispan.server.functional; + + import static org.infinispan.commons.dataconversion.MediaType.APPLICATION_JSON; + import static org.infinispan.server.test.core.Common.sync; + import static org.junit.Assert.assertEquals; + + import org.infinispan.client. rest .RestCacheClient; + import org.infinispan.client. rest .RestClient; + import org.infinispan.client. rest .RestEntity; + import org.infinispan.client. rest .RestResponse; + import org.infinispan.server.test.junit4.InfinispanServerRule; + import org.infinispan.server.test.junit4.InfinispanServerRuleBuilder; + import org.infinispan.server.test.junit4.InfinispanServerTestMethodRule; + import org.junit.ClassRule; + import org.junit.Rule; + import org.junit.Test; + +/** + * @author Ryan Emerson + * @since 14.0 + */ + public class RocksDBRestIT { + @ClassRule + public static final InfinispanServerRule SERVER = + InfinispanServerRuleBuilder.config( "configuration/BasicServerTest.xml" ) + .numServers(1) + .build(); + + @Rule + public InfinispanServerTestMethodRule SERVER_TEST = new InfinispanServerTestMethodRule(SERVER); + + @Test + public void testCreateRocksDBStore() { + RestClient client = SERVER_TEST. rest ().create(); + + String cacheConfig = "{\" local-cache\ ":{\" rocksdb-store\ ":{\" path\ ":\" rocksdb/data\ ",\" expiration\ ":{\" path\ ":\" rocksdb/expired\ "}}}}" ; + + RestCacheClient cacheClient = client.cache( "rocks" ); + RestEntity config = RestEntity.create(APPLICATION_JSON, cacheConfig); + RestResponse response = sync(cacheClient.createWithConfiguration(config)); + System .out.println(response.getBody()); + assertEquals(200, response.getStatus()); + } +}

      It's not possible to create a cache with a rocksdb store via REST.

      Attempts to create a RocksDB store via REST result in a 400 response and the following body:

      Could not instantiate loader configuration builder 'org.infinispan.persistence.rocksdb.configuration.RocksDBStoreConfigurationBuilder'
      

      No errors are present on the server.

              Unassigned Unassigned
              remerson@redhat.com Ryan Emerson
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: