From 28a090a729d203b98897b41738f820800dbd1daa Mon Sep 17 00:00:00 2001 From: Connor McCoy <connormccoy@google.com> Date: Thu, 15 Oct 2015 15:25:10 -0700 Subject: [PATCH] Add single definition of status codes --- .../com/yahoo/ycsb/db/AccumuloClient.java | 64 +++++++++---------- .../com/yahoo/ycsb/db/AerospikeClient.java | 35 +++++----- .../com/yahoo/ycsb/db/CassandraCQLClient.java | 19 +++--- .../com/yahoo/ycsb/db/CassandraCQLClient.java | 23 +++---- .../main/java/com/yahoo/ycsb/StatusCode.java | 39 +++++++++++ .../java/com/yahoo/ycsb/db/HBaseClient.java | 61 ++++++++++-------- .../java/com/yahoo/ycsb/db/HBaseClient10.java | 36 +++++------ .../yahoo/ycsb/db/JdbcDBClientConstants.java | 4 +- .../com/yahoo/ycsb/db/AsyncMongoDbClient.java | 49 +++++++------- .../java/com/yahoo/ycsb/db/MongoDbClient.java | 56 ++++++++-------- 10 files changed, 209 insertions(+), 177 deletions(-) create mode 100644 core/src/main/java/com/yahoo/ycsb/StatusCode.java diff --git a/accumulo/src/main/java/com/yahoo/ycsb/db/AccumuloClient.java b/accumulo/src/main/java/com/yahoo/ycsb/db/AccumuloClient.java index e4e79f92..d2f75701 100644 --- a/accumulo/src/main/java/com/yahoo/ycsb/db/AccumuloClient.java +++ b/accumulo/src/main/java/com/yahoo/ycsb/db/AccumuloClient.java @@ -18,16 +18,11 @@ package com.yahoo.ycsb.db; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Hashtable; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Random; -import java.util.Set; -import java.util.TreeSet; -import java.util.Vector; -import java.util.concurrent.TimeUnit; +import com.yahoo.ycsb.ByteArrayByteIterator; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DB; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.StatusCode; import org.apache.accumulo.core.client.AccumuloException; import org.apache.accumulo.core.client.AccumuloSecurityException; @@ -49,20 +44,21 @@ import org.apache.accumulo.core.util.CleanUp; import org.apache.hadoop.io.Text; import org.apache.zookeeper.KeeperException; -import com.yahoo.ycsb.ByteArrayByteIterator; -import com.yahoo.ycsb.ByteIterator; -import com.yahoo.ycsb.DB; -import com.yahoo.ycsb.DBException; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Hashtable; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Random; +import java.util.Set; +import java.util.TreeSet; +import java.util.Vector; +import java.util.concurrent.TimeUnit; /** * <a href="https://accumulo.apache.org/">Accumulo</a> binding for YCSB. */ public class AccumuloClient extends DB { - // Error code constants. - public static final int OK = 0; - public static final int SERVER_ERROR = -1; - public static final int HTTP_ERROR = -2; - public static final int NO_MATCHING_RECORD = -3; private ZooKeeperInstance inst; private Connector connector; @@ -210,7 +206,7 @@ public class AccumuloClient extends DB { checkTable(t); } catch (TableNotFoundException e) { System.err.println("Error trying to connect to Accumulo table." + e); - return SERVER_ERROR; + return StatusCode.ERROR; } try { @@ -223,9 +219,9 @@ public class AccumuloClient extends DB { } } catch (Exception e) { System.err.println("Error trying to reading Accumulo table" + key + e); - return SERVER_ERROR; + return StatusCode.ERROR; } - return OK; + return StatusCode.OK; } @@ -236,7 +232,7 @@ public class AccumuloClient extends DB { checkTable(t); } catch (TableNotFoundException e) { System.err.println("Error trying to connect to Accumulo table." + e); - return SERVER_ERROR; + return StatusCode.ERROR; } // There doesn't appear to be a way to create a range for a given @@ -287,7 +283,7 @@ public class AccumuloClient extends DB { new ByteArrayByteIterator(buf)); } - return OK; + return StatusCode.OK; } @Override @@ -297,7 +293,7 @@ public class AccumuloClient extends DB { checkTable(t); } catch (TableNotFoundException e) { System.err.println("Error trying to connect to Accumulo table." + e); - return SERVER_ERROR; + return StatusCode.ERROR; } Mutation mutInsert = new Mutation(new Text(key)); @@ -319,14 +315,14 @@ public class AccumuloClient extends DB { } catch (MutationsRejectedException e) { System.err.println("Error performing update."); e.printStackTrace(); - return SERVER_ERROR; + return StatusCode.ERROR; } catch (KeeperException e) { System.err.println("Error notifying the Zookeeper Queue."); e.printStackTrace(); - return SERVER_ERROR; + return StatusCode.ERROR; } - return OK; + return StatusCode.OK; } @Override @@ -341,7 +337,7 @@ public class AccumuloClient extends DB { checkTable(t); } catch (TableNotFoundException e) { System.err.println("Error trying to connect to Accumulo table." + e); - return SERVER_ERROR; + return StatusCode.ERROR; } try { @@ -349,14 +345,14 @@ public class AccumuloClient extends DB { } catch (MutationsRejectedException e) { System.err.println("Error performing delete."); e.printStackTrace(); - return SERVER_ERROR; + return StatusCode.ERROR; } catch (RuntimeException e) { System.err.println("Error performing delete."); e.printStackTrace(); - return SERVER_ERROR; + return StatusCode.ERROR; } - return OK; + return StatusCode.OK; } // These functions are adapted from RowOperations.java: @@ -449,8 +445,8 @@ public class AccumuloClient extends DB { for (int i = 0; i < keys.length; i++) { splits.add(new Text(keys[i])); } - connector.tableOperations().addSplits(t, splits); - return OK; + connector.tableOperations().addSplits(t, splits); + return StatusCode.OK; } } diff --git a/aerospike/src/main/java/com/yahoo/ycsb/db/AerospikeClient.java b/aerospike/src/main/java/com/yahoo/ycsb/db/AerospikeClient.java index 858c69b4..279691a2 100644 --- a/aerospike/src/main/java/com/yahoo/ycsb/db/AerospikeClient.java +++ b/aerospike/src/main/java/com/yahoo/ycsb/db/AerospikeClient.java @@ -17,12 +17,6 @@ package com.yahoo.ycsb.db; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.Vector; - import com.aerospike.client.AerospikeException; import com.aerospike.client.Bin; import com.aerospike.client.Key; @@ -31,10 +25,16 @@ import com.aerospike.client.policy.ClientPolicy; import com.aerospike.client.policy.Policy; import com.aerospike.client.policy.RecordExistsAction; import com.aerospike.client.policy.WritePolicy; - import com.yahoo.ycsb.ByteArrayByteIterator; import com.yahoo.ycsb.ByteIterator; import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.StatusCode; + +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; /** * YCSB binding for <a href="http://www.aerospike.com/">Areospike</a>. @@ -45,9 +45,6 @@ public class AerospikeClient extends com.yahoo.ycsb.DB { private static final String DEFAULT_TIMEOUT = "10000"; private static final String DEFAULT_NAMESPACE = "ycsb"; - private static final int RESULT_OK = 0; - private static final int RESULT_ERROR = -1; - private String namespace = null; private com.aerospike.client.AerospikeClient client = null; @@ -114,7 +111,7 @@ public class AerospikeClient extends com.yahoo.ycsb.DB { if (record == null) { System.err.println("Record key " + key + " not found (read)"); - return RESULT_ERROR; + return StatusCode.ERROR; } for (Map.Entry<String, Object> entry: record.bins.entrySet()) { @@ -122,10 +119,10 @@ public class AerospikeClient extends com.yahoo.ycsb.DB { new ByteArrayByteIterator((byte[])entry.getValue())); } - return RESULT_OK; + return StatusCode.OK; } catch (AerospikeException e) { System.err.println("Error while reading key " + key + ": " + e); - return RESULT_ERROR; + return StatusCode.ERROR; } } @@ -133,7 +130,7 @@ public class AerospikeClient extends com.yahoo.ycsb.DB { public int scan(String table, String start, int count, Set<String> fields, Vector<HashMap<String, ByteIterator>> result) { System.err.println("Scan not implemented"); - return RESULT_ERROR; + return StatusCode.ERROR; } private int write(String table, String key, WritePolicy writePolicy, @@ -150,10 +147,10 @@ public class AerospikeClient extends com.yahoo.ycsb.DB { try { client.put(writePolicy, keyObj, bins); - return RESULT_OK; + return StatusCode.OK; } catch (AerospikeException e) { System.err.println("Error while writing key " + key + ": " + e); - return RESULT_ERROR; + return StatusCode.ERROR; } } @@ -174,13 +171,13 @@ public class AerospikeClient extends com.yahoo.ycsb.DB { try { if (!client.delete(deletePolicy, new Key(namespace, table, key))) { System.err.println("Record key " + key + " not found (delete)"); - return RESULT_ERROR; + return StatusCode.ERROR; } - return RESULT_OK; + return StatusCode.OK; } catch (AerospikeException e) { System.err.println("Error while deleting key " + key + ": " + e); - return RESULT_ERROR; + return StatusCode.ERROR; } } } diff --git a/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java b/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java index 33fdcea0..a636a4c1 100755 --- a/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java +++ b/cassandra/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java @@ -46,9 +46,6 @@ public class CassandraCQLClient extends DB { private static ConsistencyLevel readConsistencyLevel = ConsistencyLevel.ONE; private static ConsistencyLevel writeConsistencyLevel = ConsistencyLevel.ONE; - public static final int OK = 0; - public static final int ERR = -1; - public static final String YCSB_KEY = "y_id"; public static final String KEYSPACE_PROPERTY = "cassandra.keyspace"; public static final String KEYSPACE_PROPERTY_DEFAULT = "ycsb"; @@ -232,12 +229,12 @@ public class CassandraCQLClient extends DB { } - return OK; + return StatusCode.OK; } catch (Exception e) { e.printStackTrace(); System.out.println("Error reading key: " + key); - return ERR; + return StatusCode.ERROR; } } @@ -323,12 +320,12 @@ public class CassandraCQLClient extends DB { result.add(tuple); } - return OK; + return StatusCode.OK; } catch (Exception e) { e.printStackTrace(); System.out.println("Error scanning with startkey: " + startkey); - return ERR; + return StatusCode.ERROR; } } @@ -393,12 +390,12 @@ public class CassandraCQLClient extends DB { ResultSet rs = session.execute(insertStmt); - return OK; + return StatusCode.OK; } catch (Exception e) { e.printStackTrace(); } - return ERR; + return StatusCode.ERROR; } /** @@ -426,13 +423,13 @@ public class CassandraCQLClient extends DB { ResultSet rs = session.execute(stmt); - return OK; + return StatusCode.OK; } catch (Exception e) { e.printStackTrace(); System.out.println("Error deleting key: " + key); } - return ERR; + return StatusCode.ERROR; } } diff --git a/cassandra2/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java b/cassandra2/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java index eca2a677..92594d01 100644 --- a/cassandra2/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java +++ b/cassandra2/src/main/java/com/yahoo/ycsb/db/CassandraCQLClient.java @@ -35,6 +35,7 @@ import com.yahoo.ycsb.ByteArrayByteIterator; import com.yahoo.ycsb.ByteIterator; import com.yahoo.ycsb.DB; import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.StatusCode; import java.nio.ByteBuffer; import java.util.HashMap; @@ -58,10 +59,6 @@ public class CassandraCQLClient extends DB { private static ConsistencyLevel readConsistencyLevel = ConsistencyLevel.ONE; private static ConsistencyLevel writeConsistencyLevel = ConsistencyLevel.ONE; - public static final int OK = 0; - public static final int ERR = -1; - public static final int NOT_FOUND = -3; - public static final String YCSB_KEY = "y_id"; public static final String KEYSPACE_PROPERTY = "cassandra.keyspace"; public static final String KEYSPACE_PROPERTY_DEFAULT = "ycsb"; @@ -240,7 +237,7 @@ public class CassandraCQLClient extends DB { ResultSet rs = session.execute(stmt); if (rs.isExhausted()) { - return NOT_FOUND; + return StatusCode.NOT_FOUND; } // Should be only 1 row @@ -256,12 +253,12 @@ public class CassandraCQLClient extends DB { } } - return OK; + return StatusCode.OK; } catch (Exception e) { e.printStackTrace(); System.out.println("Error reading key: " + key); - return ERR; + return StatusCode.ERROR; } } @@ -347,12 +344,12 @@ public class CassandraCQLClient extends DB { result.add(tuple); } - return OK; + return StatusCode.OK; } catch (Exception e) { e.printStackTrace(); System.out.println("Error scanning with startkey: " + startkey); - return ERR; + return StatusCode.ERROR; } } @@ -417,12 +414,12 @@ public class CassandraCQLClient extends DB { ResultSet rs = session.execute(insertStmt); - return OK; + return StatusCode.OK; } catch (Exception e) { e.printStackTrace(); } - return ERR; + return StatusCode.ERROR; } /** @@ -450,13 +447,13 @@ public class CassandraCQLClient extends DB { ResultSet rs = session.execute(stmt); - return OK; + return StatusCode.OK; } catch (Exception e) { e.printStackTrace(); System.out.println("Error deleting key: " + key); } - return ERR; + return StatusCode.ERROR; } } diff --git a/core/src/main/java/com/yahoo/ycsb/StatusCode.java b/core/src/main/java/com/yahoo/ycsb/StatusCode.java new file mode 100644 index 00000000..3cf8cae9 --- /dev/null +++ b/core/src/main/java/com/yahoo/ycsb/StatusCode.java @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2010 Yahoo! Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you + * may not use this file except in compliance with the License. You + * may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing + * permissions and limitations under the License. See accompanying + * LICENSE file. + */ +package com.yahoo.ycsb; + +/** + * Status codes returned by databases. + */ +public class StatusCode { + + /** + * The operation completed without error. + */ + public final static int OK = 0; + + /** + * The operation failed, with a generic error. + */ + public static final int ERROR = -1; + + /** + * The operation failed: the requested record was not found. + */ + public static final int NOT_FOUND = -3; +} + diff --git a/hbase098/src/main/java/com/yahoo/ycsb/db/HBaseClient.java b/hbase098/src/main/java/com/yahoo/ycsb/db/HBaseClient.java index 35735ad4..a4536dd1 100644 --- a/hbase098/src/main/java/com/yahoo/ycsb/db/HBaseClient.java +++ b/hbase098/src/main/java/com/yahoo/ycsb/db/HBaseClient.java @@ -17,27 +17,35 @@ package com.yahoo.ycsb.db; -import com.yahoo.ycsb.DBException; -import com.yahoo.ycsb.ByteIterator; import com.yahoo.ycsb.ByteArrayByteIterator; +import com.yahoo.ycsb.ByteIterator; +import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.StatusCode; import com.yahoo.ycsb.measurements.Measurements; -import java.io.IOException; -import java.util.*; - import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.KeyValue; +import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.client.HTable; +import org.apache.hadoop.hbase.KeyValue; +import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Get; +import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; -import org.apache.hadoop.hbase.client.Delete; -import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; +import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.filter.PageFilter; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.hbase.HBaseConfiguration; + +import java.io.IOException; +import java.util.ConcurrentModificationException; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Properties; +import java.util.Random; +import java.util.Set; +import java.util.Vector; /** * HBase client for YCSB framework @@ -59,10 +67,7 @@ public class HBaseClient extends com.yahoo.ycsb.DB /** Whether or not a page filter should be used to limit scan length. */ public boolean _usePageFilter = true; - public static final int Ok=0; - public static final int ServerError=-1; public static final int HttpError=-2; - public static final int NoMatchingRecord=-3; public static final Object tableLock = new Object(); @@ -168,7 +173,7 @@ public class HBaseClient extends com.yahoo.ycsb.DB catch (IOException e) { System.err.println("Error accessing HBase table: "+e); - return ServerError; + return StatusCode.ERROR; } } @@ -192,12 +197,12 @@ public class HBaseClient extends com.yahoo.ycsb.DB catch (IOException e) { System.err.println("Error doing get: "+e); - return ServerError; + return StatusCode.ERROR; } catch (ConcurrentModificationException e) { //do nothing for now...need to understand HBase concurrency model better - return ServerError; + return StatusCode.ERROR; } for (KeyValue kv : r.raw()) { @@ -210,7 +215,7 @@ public class HBaseClient extends com.yahoo.ycsb.DB } } - return Ok; + return StatusCode.OK; } /** @@ -236,7 +241,7 @@ public class HBaseClient extends com.yahoo.ycsb.DB catch (IOException e) { System.err.println("Error accessing HBase table: "+e); - return ServerError; + return StatusCode.ERROR; } } @@ -301,14 +306,14 @@ public class HBaseClient extends com.yahoo.ycsb.DB { System.out.println("Error in getting/parsing scan result: "+e); } - return ServerError; + return StatusCode.ERROR; } finally { scanner.close(); } - return Ok; + return StatusCode.OK; } /** @@ -333,7 +338,7 @@ public class HBaseClient extends com.yahoo.ycsb.DB catch (IOException e) { System.err.println("Error accessing HBase table: "+e); - return ServerError; + return StatusCode.ERROR; } } @@ -361,15 +366,15 @@ public class HBaseClient extends com.yahoo.ycsb.DB if (_debug) { System.err.println("Error doing put: "+e); } - return ServerError; + return StatusCode.ERROR; } catch (ConcurrentModificationException e) { //do nothing for now...hope this is rare - return ServerError; + return StatusCode.ERROR; } - return Ok; + return StatusCode.OK; } /** @@ -406,7 +411,7 @@ public class HBaseClient extends com.yahoo.ycsb.DB catch (IOException e) { System.err.println("Error accessing HBase table: "+e); - return ServerError; + return StatusCode.ERROR; } } @@ -424,10 +429,10 @@ public class HBaseClient extends com.yahoo.ycsb.DB if (_debug) { System.err.println("Error doing delete: "+e); } - return ServerError; + return StatusCode.ERROR; } - return Ok; + return StatusCode.OK; } public static void main(String[] args) @@ -502,7 +507,7 @@ public class HBaseClient extends com.yahoo.ycsb.DB accum+=(en-st); - if (rescode!=Ok) + if (rescode!=StatusCode.OK) { System.out.println("Error "+rescode+" for "+key); } diff --git a/hbase10/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java b/hbase10/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java index 378b30f9..14ef7f72 100644 --- a/hbase10/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java +++ b/hbase10/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java @@ -22,6 +22,7 @@ import com.google.common.base.Preconditions; import com.yahoo.ycsb.ByteArrayByteIterator; import com.yahoo.ycsb.ByteIterator; import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.StatusCode; import com.yahoo.ycsb.measurements.Measurements; import org.apache.hadoop.conf.Configuration; @@ -93,10 +94,7 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB public boolean _clientSideBuffering = false; public long _writeBufferSize = 1024 * 1024 * 12; - public static final int Ok=0; - public static final int ServerError=-1; - public static final int HttpError=-2; - public static final int NoMatchingRecord=-3; + public static final int HTTP_ERROR = -2; /** * Initialize any state for this DB. @@ -217,7 +215,7 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB catch (IOException e) { System.err.println("Error accessing HBase table: " + e); - return ServerError; + return StatusCode.ERROR; } } @@ -243,16 +241,16 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB if (_debug) { System.err.println("Error doing get: "+e); } - return ServerError; + return StatusCode.ERROR; } catch (ConcurrentModificationException e) { //do nothing for now...need to understand HBase concurrency model better - return ServerError; + return StatusCode.ERROR; } if (r.isEmpty()) { - return NoMatchingRecord; + return StatusCode.NOT_FOUND; } while (r.advance()) { @@ -264,7 +262,7 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB " is: "+Bytes.toString(CellUtil.cloneValue(c))); } } - return Ok; + return StatusCode.OK; } /** @@ -291,7 +289,7 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB catch (IOException e) { System.err.println("Error accessing HBase table: "+e); - return ServerError; + return StatusCode.ERROR; } } @@ -359,7 +357,7 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB { System.out.println("Error in getting/parsing scan result: "+e); } - return ServerError; + return StatusCode.ERROR; } finally { @@ -369,7 +367,7 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB } } - return Ok; + return StatusCode.OK; } /** @@ -395,7 +393,7 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB catch (IOException e) { System.err.println("Error accessing HBase table: "+e); - return ServerError; + return StatusCode.ERROR; } } @@ -429,15 +427,15 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB if (_debug) { System.err.println("Error doing put: "+e); } - return ServerError; + return StatusCode.ERROR; } catch (ConcurrentModificationException e) { //do nothing for now...hope this is rare - return ServerError; + return StatusCode.ERROR; } - return Ok; + return StatusCode.OK; } /** @@ -476,7 +474,7 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB catch (IOException e) { System.err.println("Error accessing HBase table: "+e); - return ServerError; + return StatusCode.ERROR; } } @@ -500,10 +498,10 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB if (_debug) { System.err.println("Error doing delete: "+e); } - return ServerError; + return StatusCode.ERROR; } - return Ok; + return StatusCode.OK; } @VisibleForTesting diff --git a/jdbc/src/main/java/com/yahoo/ycsb/db/JdbcDBClientConstants.java b/jdbc/src/main/java/com/yahoo/ycsb/db/JdbcDBClientConstants.java index 120cb645..91cd829f 100644 --- a/jdbc/src/main/java/com/yahoo/ycsb/db/JdbcDBClientConstants.java +++ b/jdbc/src/main/java/com/yahoo/ycsb/db/JdbcDBClientConstants.java @@ -16,6 +16,8 @@ */ package com.yahoo.ycsb.db; +import com.yahoo.ycsb.StatusCode; + /** * Constants used by the JDBC client. * @@ -52,7 +54,7 @@ public interface JdbcDBClientConstants { public static final String NULL_VALUE = "NULL"; /** The code to return when the call succeeds. */ - public static final int SUCCESS = 0; + public static final int SUCCESS = StatusCode.OK; /** The primary key in the user table.*/ public static String PRIMARY_KEY = "YCSB_KEY"; diff --git a/mongodb/src/main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java b/mongodb/src/main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java index fb2721b9..6720e74e 100644 --- a/mongodb/src/main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java +++ b/mongodb/src/main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java @@ -18,14 +18,6 @@ package com.yahoo.ycsb.db; import static com.allanbank.mongodb.builder.QueryBuilder.where; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.Vector; -import java.util.concurrent.atomic.AtomicInteger; - import com.allanbank.mongodb.Durability; import com.allanbank.mongodb.LockType; import com.allanbank.mongodb.MongoClient; @@ -49,6 +41,15 @@ import com.allanbank.mongodb.builder.Sort; import com.yahoo.ycsb.ByteIterator; import com.yahoo.ycsb.DB; import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.StatusCode; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import java.util.concurrent.atomic.AtomicInteger; /** * MongoDB asynchronous client for YCSB framework using the <a @@ -146,12 +147,12 @@ public class AsyncMongoDbClient extends DB { final long res = collection.delete(q, writeConcern); if (res == 0) { System.err.println("Nothing deleted for key " + key); - return 1; + return StatusCode.ERROR; } - return 0; + return StatusCode.OK; } catch (final Exception e) { System.err.println(e.toString()); - return 1; + return StatusCode.ERROR; } } @@ -271,7 +272,7 @@ public class AsyncMongoDbClient extends DB { collection.insert(writeConcern, toInsert); result = 1; } - return result == 1 ? 0 : 1; + return result == 1 ? StatusCode.OK : StatusCode.ERROR; } // Use a bulk insert. @@ -285,30 +286,30 @@ public class AsyncMongoDbClient extends DB { batchedWriteCount += 1; if (batchedWriteCount < batchSize) { - return 0; + return StatusCode.OK; } long count = collection.write(batchedWrite); if (count == batchedWriteCount) { batchedWrite.reset().mode(BatchedWriteMode.REORDERED); batchedWriteCount = 0; - return 0; + return StatusCode.OK; } System.err.println("Number of inserted documents doesn't match the " + "number sent, " + count + " inserted, sent " + batchedWriteCount); batchedWrite.reset().mode(BatchedWriteMode.REORDERED); batchedWriteCount = 0; - return 1; + return StatusCode.ERROR; } catch (Exception e) { System.err.println("Exception while trying bulk insert with " + batchedWriteCount); e.printStackTrace(); - return 1; + return StatusCode.ERROR; } } catch (final Exception e) { e.printStackTrace(); - return 1; + return StatusCode.ERROR; } } @@ -360,10 +361,10 @@ public class AsyncMongoDbClient extends DB { if (queryResult != null) { fillMap(result, queryResult); } - return queryResult != null ? 0 : 1; + return queryResult != null ? StatusCode.OK : StatusCode.ERROR; } catch (final Exception e) { System.err.println(e.toString()); - return 1; + return StatusCode.ERROR; } } @@ -412,7 +413,7 @@ public class AsyncMongoDbClient extends DB { final MongoIterator<Document> cursor = collection.find(find); if (!cursor.hasNext()) { System.err.println("Nothing found in scan for key " + startkey); - return 1; + return StatusCode.ERROR; } while (cursor.hasNext()) { // toMap() returns a Map but result.add() expects a @@ -426,10 +427,10 @@ public class AsyncMongoDbClient extends DB { result.add(docAsMap); } - return 0; + return StatusCode.OK; } catch (final Exception e) { System.err.println(e.toString()); - return 1; + return StatusCode.ERROR; } } @@ -461,10 +462,10 @@ public class AsyncMongoDbClient extends DB { } final long res = collection.update(query, update, false, false, writeConcern); - return res == 1 ? 0 : 1; + return res == 1 ? StatusCode.OK : StatusCode.ERROR; } catch (final Exception e) { System.err.println(e.toString()); - return 1; + return StatusCode.ERROR; } } diff --git a/mongodb/src/main/java/com/yahoo/ycsb/db/MongoDbClient.java b/mongodb/src/main/java/com/yahoo/ycsb/db/MongoDbClient.java index 6a7650b6..e1e50f83 100644 --- a/mongodb/src/main/java/com/yahoo/ycsb/db/MongoDbClient.java +++ b/mongodb/src/main/java/com/yahoo/ycsb/db/MongoDbClient.java @@ -24,21 +24,6 @@ */ package com.yahoo.ycsb.db; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.Vector; -import java.util.concurrent.atomic.AtomicInteger; - -import com.mongodb.client.model.InsertManyOptions; -import com.mongodb.client.model.UpdateOneModel; - -import org.bson.Document; -import org.bson.types.Binary; - import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; import com.mongodb.ReadPreference; @@ -47,6 +32,8 @@ import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCursor; import com.mongodb.client.MongoDatabase; +import com.mongodb.client.model.InsertManyOptions; +import com.mongodb.client.model.UpdateOneModel; import com.mongodb.client.model.UpdateOptions; import com.mongodb.client.result.DeleteResult; import com.mongodb.client.result.UpdateResult; @@ -54,6 +41,19 @@ import com.yahoo.ycsb.ByteArrayByteIterator; import com.yahoo.ycsb.ByteIterator; import com.yahoo.ycsb.DB; import com.yahoo.ycsb.DBException; +import com.yahoo.ycsb.StatusCode; + +import org.bson.Document; +import org.bson.types.Binary; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import java.util.concurrent.atomic.AtomicInteger; /** * MongoDB asynchronous client for YCSB framework using the MongoDB Inc. <a @@ -152,12 +152,12 @@ public class MongoDbClient extends DB { collection.withWriteConcern(writeConcern).deleteOne(query); if (result.wasAcknowledged() && result.getDeletedCount() == 0) { System.err.println("Nothing deleted for key " + key); - return 1; + return StatusCode.ERROR; } - return 0; + return StatusCode.OK; } catch (Exception e) { System.err.println(e.toString()); - return 1; + return StatusCode.ERROR; } } @@ -287,12 +287,12 @@ public class MongoDbClient extends DB { bulkInserts.clear(); } } - return 0; + return StatusCode.OK; } catch (Exception e) { System.err.println("Exception while trying bulk insert with " + bulkInserts.size()); e.printStackTrace(); - return 1; + return StatusCode.ERROR; } } @@ -333,10 +333,10 @@ public class MongoDbClient extends DB { if (queryResult != null) { fillMap(result, queryResult); } - return queryResult != null ? 0 : 1; + return queryResult != null ? StatusCode.OK : StatusCode.ERROR; } catch (Exception e) { System.err.println(e.toString()); - return 1; + return StatusCode.ERROR; } } @@ -384,7 +384,7 @@ public class MongoDbClient extends DB { if (!cursor.hasNext()) { System.err.println("Nothing found in scan for key " + startkey); - return 1; + return StatusCode.ERROR; } result.ensureCapacity(recordcount); @@ -399,10 +399,10 @@ public class MongoDbClient extends DB { result.add(resultMap); } - return 0; + return StatusCode.OK; } catch (Exception e) { System.err.println(e.toString()); - return 1; + return StatusCode.ERROR; } finally { if (cursor != null) { cursor.close(); @@ -440,12 +440,12 @@ public class MongoDbClient extends DB { UpdateResult result = collection.updateOne(query, update); if (result.wasAcknowledged() && result.getMatchedCount() == 0) { System.err.println("Nothing updated for key " + key); - return 1; + return StatusCode.ERROR; } - return 0; + return StatusCode.OK; } catch (Exception e) { System.err.println(e.toString()); - return 1; + return StatusCode.ERROR; } } -- GitLab