diff --git a/ignite/pom.xml b/ignite/pom.xml index 76c391309722e407fb833862eb7683299e995fc0..f8b0f23deae3b90259c704d45bc45da13c624c2b 100644 --- a/ignite/pom.xml +++ b/ignite/pom.xml @@ -28,13 +28,6 @@ LICENSE file. <relativePath>../binding-parent</relativePath> </parent> - <repositories> - <repository> - <id>GridGain External Repository</id> - <url>http://www.gridgainsystems.com/nexus/content/repositories/external</url> - </repository> - </repositories> - <artifactId>ignite-binding</artifactId> <name>Apache Ignite</name> <packaging>jar</packaging> diff --git a/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteAbstractClient.java b/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteAbstractClient.java index 7a48b2bb6236efef71e7d37920ce318e0b5ec92a..c3be883b619b4db6f550a0f46b7ad059f81f183b 100644 --- a/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteAbstractClient.java +++ b/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteAbstractClient.java @@ -17,10 +17,15 @@ package com.yahoo.ycsb.db.ignite; +import com.yahoo.ycsb.ByteIterator; import com.yahoo.ycsb.DB; import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.Status; import java.util.Collection; +import java.util.HashMap; import java.util.LinkedHashSet; +import java.util.Set; +import java.util.Vector; import java.util.concurrent.atomic.AtomicInteger; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.logger.log4j2.Log4J2Logger; @@ -161,4 +166,10 @@ public abstract class IgniteAbstractClient extends DB { } } } + + @Override + public Status scan(String table, String startkey, int recordcount, + Set<String> fields, Vector<HashMap<String, ByteIterator>> result) { + return Status.NOT_IMPLEMENTED; + } } diff --git a/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteClient.java b/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteClient.java index a7bc37db390fbf35e0d1ee0d767daa264f7e6e84..ab8585d8bce967e58747e906d1d3b8a6a7364e43 100644 --- a/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteClient.java +++ b/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteClient.java @@ -105,31 +105,6 @@ public class IgniteClient extends IgniteAbstractClient { } } - /** - * Perform a range scan for a set of records in the database. Each field/value - * pair from the result will be stored in a HashMap. - * - * @param table The name of the table - * @param startkey The record key of the first record to read. - * @param recordcount The number of records to read - * @param fields The list of fields to read, or null for all of them - * @param result A Vector of HashMaps, where each HashMap is a set field/value - * pairs for one record - * @return Zero on success, a non-zero error code on error - */ - @Override - public Status scan(String table, String startkey, int recordcount, - Set<String> fields, Vector<HashMap<String, ByteIterator>> result) { - try { - return Status.OK; - - } catch (Exception e) { - log.error(String.format("Error scanning with startkey: %s", startkey), e); - - return Status.NOT_IMPLEMENTED; - } - } - /** * Update a record in the database. Any field/value pairs in the specified * values HashMap will be written into the record with the specified record diff --git a/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteSqlClient.java b/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteSqlClient.java index adeb717b6c027f9a95790d166997e95ee90fc4db..dedd0f9323846b79a6f8038d1b516d66d9e759f0 100644 --- a/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteSqlClient.java +++ b/ignite/src/main/java/com/yahoo/ycsb/db/ignite/IgniteSqlClient.java @@ -96,23 +96,6 @@ public class IgniteSqlClient extends IgniteAbstractClient { } } - /** - Unsupported operation. - */ - @Override - public Status scan(String table, String startkey, int recordcount, - Set<String> fields, Vector<HashMap<String, ByteIterator>> result) { - try { - return Status.OK; - - } catch (Exception e) { - log.error(String.format("Error scanning with startkey: %s", startkey), e); - - return Status.NOT_IMPLEMENTED; - } - - } - /** * Update a record in the database. Any field/value pairs in the specified * values HashMap will be written into the record with the specified record diff --git a/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteClientTest.java b/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteClientTest.java index a8900d18841f1f607c4c6839a233f413362555a9..77412ed9a83d28dd2bf94e5aeb185ff159a9b871 100644 --- a/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteClientTest.java +++ b/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteClientTest.java @@ -42,8 +42,7 @@ import static org.hamcrest.Matchers.is; /** * Integration tests for the Ignite client */ -public class IgniteClientTest extends IgniteClientCommonTest { - private static final String DEFAULT_CACHE_NAME = "usertable"; +public class IgniteClientTest extends IgniteClientTestBase { private final static String HOST = "127.0.0.1"; private final static String PORTS = "47500..47509"; private final static String SERVER_NODE_NAME = "YCSB Server Node"; diff --git a/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteClientCommonTest.java b/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteClientTestBase.java similarity index 54% rename from ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteClientCommonTest.java rename to ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteClientTestBase.java index 5cddc35282e748b2c2f45cea1fc5ca8fa84e3b33..de6de52a0a8c32452b1fd6ccdcad1a489043bb26 100644 --- a/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteClientCommonTest.java +++ b/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteClientTestBase.java @@ -17,15 +17,26 @@ package com.yahoo.ycsb.db.ignite; +import com.yahoo.ycsb.ByteIterator; import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.Status; +import com.yahoo.ycsb.StringByteIterator; import org.apache.ignite.Ignite; import org.junit.After; import org.junit.AfterClass; +import org.junit.Test; + +import java.util.*; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; /** * Common test class. */ -public class IgniteClientCommonTest { +public class IgniteClientTestBase { + protected static final String DEFAULT_CACHE_NAME = "usertable"; + /** */ protected static Ignite cluster; @@ -54,4 +65,19 @@ public class IgniteClientCommonTest { e.printStackTrace(); } } + + @Test + public void scanNotImplemented() { + cluster.cache(DEFAULT_CACHE_NAME).clear(); + final String key = "key"; + final Map<String, String> input = new HashMap<>(); + input.put("field0", "value1"); + input.put("field1", "value2"); + final Status status = client.insert(DEFAULT_CACHE_NAME, key, StringByteIterator.getByteIteratorMap(input)); + assertThat(status, is(Status.OK)); + assertThat(cluster.cache(DEFAULT_CACHE_NAME).size(), is(1)); + final Vector<HashMap<String, ByteIterator>> results = new Vector<>(); + final Status scan = client.scan(DEFAULT_CACHE_NAME, key, 1, null, results); + assertThat(scan, is(Status.NOT_IMPLEMENTED)); + } } diff --git a/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteSqlClientTest.java b/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteSqlClientTest.java index d3dc0ba9203a6fd8bcfccdee2969e0f10f8bf101..5c65248506c251cc9cd33c0bae5a7c5319d09b33 100644 --- a/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteSqlClientTest.java +++ b/ignite/src/test/java/com/yahoo/ycsb/db/ignite/IgniteSqlClientTest.java @@ -47,8 +47,7 @@ import static org.hamcrest.Matchers.is; /** * Integration tests for the Ignite client */ -public class IgniteSqlClientTest extends IgniteClientCommonTest { - private static final String DEFAULT_CACHE_NAME = "usertable"; +public class IgniteSqlClientTest extends IgniteClientTestBase { private static final String TABLE_NAME = "usertable"; private final static String HOST = "127.0.0.1"; private final static String PORTS = "47500..47509";