Author: jbellis
Date: Fri Sep 3 16:23:57 2010
New Revision: 992355
URL: http://svn.apache.org/viewvc?rev=992355&view=rev
Log:
change list<binary> keys to set<binary> in multiget. patch by Jon Hermes;
reviewed by jbellis for CASSANDRA-1329
Modified:
cassandra/trunk/CHANGES.txt
cassandra/trunk/NEWS.txt
cassandra/trunk/interface/cassandra.thrift
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
Modified: cassandra/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=992355&r1=992354&r2=992355&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Fri Sep 3 16:23:57 2010
@@ -44,6 +44,7 @@ dev
* add CMSInitiatingOccupancyFraction=75 and UseCMSInitiatingOccupancyOnly
to default JVM options
* decrease jvm heap for cassandra-cli (CASSANDRA-1446)
+ * change multiget key collection from list to set (CASSANDRA-1329)
0.7-beta1
Modified: cassandra/trunk/NEWS.txt
URL:
http://svn.apache.org/viewvc/cassandra/trunk/NEWS.txt?rev=992355&r1=992354&r2=992355&view=diff
==============================================================================
--- cassandra/trunk/NEWS.txt (original)
+++ cassandra/trunk/NEWS.txt Fri Sep 3 16:23:57 2010
@@ -57,6 +57,9 @@ Upgrading
Thrift API
----------
+ - Multiget key collection is now a set, rather than a list
+ (for dynamic languages, this is a non-issue since really any
+ iterable is accepted)
- Row keys are now bytes: keys stored by versions prior to 0.7.0 will be
returned as UTF-8 encoded bytes. OrderPreservingPartitioner and
CollatingOrderPreservingPartitioner continue to expect that keys contain
Modified: cassandra/trunk/interface/cassandra.thrift
URL:
http://svn.apache.org/viewvc/cassandra/trunk/interface/cassandra.thrift?rev=992355&r1=992354&r2=992355&view=diff
==============================================================================
--- cassandra/trunk/interface/cassandra.thrift (original)
+++ cassandra/trunk/interface/cassandra.thrift Fri Sep 3 16:23:57 2010
@@ -46,7 +46,7 @@ namespace rb CassandraThrift
# for every edit that doesn't result in a change to major/minor.
#
# See the Semantic Versioning Specification (SemVer) http://semver.org.
-const string VERSION = "12.1.0"
+const string VERSION = "13.0.0"
#
@@ -406,7 +406,7 @@ service Cassandra {
/**
Performs a get_slice for column_parent and predicate for the given keys in
parallel.
*/
- map<binary,list<ColumnOrSuperColumn>> multiget_slice(1:required list<binary>
keys,
+ map<binary,list<ColumnOrSuperColumn>> multiget_slice(1:required set<binary>
keys,
2:required ColumnParent
column_parent,
3:required
SlicePredicate predicate,
4:required
ConsistencyLevel consistency_level=ONE)
@@ -415,7 +415,7 @@ service Cassandra {
/**
Perform a get_count in parallel on the given list<binary> keys. The return
value maps keys to the count found.
*/
- map<binary, i32> multiget_count(1:required list<binary> keys,
+ map<binary, i32> multiget_count(1:required set<binary> keys,
2:required ColumnParent column_parent,
3:required SlicePredicate predicate,
4:required ConsistencyLevel consistency_level=ONE)
Modified:
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java?rev=992355&r1=992354&r2=992355&view=diff
==============================================================================
---
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
(original)
+++
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
Fri Sep 3 16:23:57 2010
@@ -94,7 +94,7 @@ public class Cassandra {
* @param predicate
* @param consistency_level
*/
- public Map<byte[],List<ColumnOrSuperColumn>> multiget_slice(List<byte[]>
keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel
consistency_level) throws InvalidRequestException, UnavailableException,
TimedOutException, TException;
+ public Map<byte[],List<ColumnOrSuperColumn>> multiget_slice(Set<byte[]>
keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel
consistency_level) throws InvalidRequestException, UnavailableException,
TimedOutException, TException;
/**
* Perform a get_count in parallel on the given list<binary> keys. The
return value maps keys to the count found.
@@ -104,7 +104,7 @@ public class Cassandra {
* @param predicate
* @param consistency_level
*/
- public Map<byte[],Integer> multiget_count(List<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
throws InvalidRequestException, UnavailableException, TimedOutException,
TException;
+ public Map<byte[],Integer> multiget_count(Set<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
throws InvalidRequestException, UnavailableException, TimedOutException,
TException;
/**
* returns a subset of columns for a contiguous range of keys.
@@ -292,9 +292,9 @@ public class Cassandra {
public void get_count(byte[] key, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<AsyncClient.get_count_call> resultHandler) throws
TException;
- public void multiget_slice(List<byte[]> keys, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<AsyncClient.multiget_slice_call> resultHandler) throws
TException;
+ public void multiget_slice(Set<byte[]> keys, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<AsyncClient.multiget_slice_call> resultHandler) throws
TException;
- public void multiget_count(List<byte[]> keys, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<AsyncClient.multiget_count_call> resultHandler) throws
TException;
+ public void multiget_count(Set<byte[]> keys, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<AsyncClient.multiget_count_call> resultHandler) throws
TException;
public void get_range_slices(ColumnParent column_parent, SlicePredicate
predicate, KeyRange range, ConsistencyLevel consistency_level,
AsyncMethodCallback<AsyncClient.get_range_slices_call> resultHandler) throws
TException;
@@ -596,13 +596,13 @@ public class Cassandra {
throw new TApplicationException(TApplicationException.MISSING_RESULT,
"get_count failed: unknown result");
}
- public Map<byte[],List<ColumnOrSuperColumn>> multiget_slice(List<byte[]>
keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel
consistency_level) throws InvalidRequestException, UnavailableException,
TimedOutException, TException
+ public Map<byte[],List<ColumnOrSuperColumn>> multiget_slice(Set<byte[]>
keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel
consistency_level) throws InvalidRequestException, UnavailableException,
TimedOutException, TException
{
send_multiget_slice(keys, column_parent, predicate, consistency_level);
return recv_multiget_slice();
}
- public void send_multiget_slice(List<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
throws TException
+ public void send_multiget_slice(Set<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
throws TException
{
oprot_.writeMessageBegin(new TMessage("multiget_slice",
TMessageType.CALL, ++seqid_));
multiget_slice_args args = new multiget_slice_args();
@@ -644,13 +644,13 @@ public class Cassandra {
throw new TApplicationException(TApplicationException.MISSING_RESULT,
"multiget_slice failed: unknown result");
}
- public Map<byte[],Integer> multiget_count(List<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
throws InvalidRequestException, UnavailableException, TimedOutException,
TException
+ public Map<byte[],Integer> multiget_count(Set<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
throws InvalidRequestException, UnavailableException, TimedOutException,
TException
{
send_multiget_count(keys, column_parent, predicate, consistency_level);
return recv_multiget_count();
}
- public void send_multiget_count(List<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
throws TException
+ public void send_multiget_count(Set<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
throws TException
{
oprot_.writeMessageBegin(new TMessage("multiget_count",
TMessageType.CALL, ++seqid_));
multiget_count_args args = new multiget_count_args();
@@ -1689,18 +1689,18 @@ public class Cassandra {
}
}
- public void multiget_slice(List<byte[]> keys, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<multiget_slice_call> resultHandler) throws TException {
+ public void multiget_slice(Set<byte[]> keys, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<multiget_slice_call> resultHandler) throws TException {
checkReady();
multiget_slice_call method_call = new multiget_slice_call(keys,
column_parent, predicate, consistency_level, resultHandler, this,
protocolFactory, transport);
manager.call(method_call);
}
public static class multiget_slice_call extends TAsyncMethodCall {
- private List<byte[]> keys;
+ private Set<byte[]> keys;
private ColumnParent column_parent;
private SlicePredicate predicate;
private ConsistencyLevel consistency_level;
- public multiget_slice_call(List<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<multiget_slice_call> resultHandler, TAsyncClient client,
TProtocolFactory protocolFactory, TNonblockingTransport transport) throws
TException {
+ public multiget_slice_call(Set<byte[]> keys, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<multiget_slice_call> resultHandler, TAsyncClient client,
TProtocolFactory protocolFactory, TNonblockingTransport transport) throws
TException {
super(client, protocolFactory, transport, resultHandler, false);
this.keys = keys;
this.column_parent = column_parent;
@@ -1729,18 +1729,18 @@ public class Cassandra {
}
}
- public void multiget_count(List<byte[]> keys, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<multiget_count_call> resultHandler) throws TException {
+ public void multiget_count(Set<byte[]> keys, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<multiget_count_call> resultHandler) throws TException {
checkReady();
multiget_count_call method_call = new multiget_count_call(keys,
column_parent, predicate, consistency_level, resultHandler, this,
protocolFactory, transport);
manager.call(method_call);
}
public static class multiget_count_call extends TAsyncMethodCall {
- private List<byte[]> keys;
+ private Set<byte[]> keys;
private ColumnParent column_parent;
private SlicePredicate predicate;
private ConsistencyLevel consistency_level;
- public multiget_count_call(List<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<multiget_count_call> resultHandler, TAsyncClient client,
TProtocolFactory protocolFactory, TNonblockingTransport transport) throws
TException {
+ public multiget_count_call(Set<byte[]> keys, ColumnParent column_parent,
SlicePredicate predicate, ConsistencyLevel consistency_level,
AsyncMethodCallback<multiget_count_call> resultHandler, TAsyncClient client,
TProtocolFactory protocolFactory, TNonblockingTransport transport) throws
TException {
super(client, protocolFactory, transport, resultHandler, false);
this.keys = keys;
this.column_parent = column_parent;
@@ -8155,12 +8155,12 @@ public class Cassandra {
public static class multiget_slice_args implements
TBase<multiget_slice_args, multiget_slice_args._Fields>, java.io.Serializable,
Cloneable {
private static final TStruct STRUCT_DESC = new
TStruct("multiget_slice_args");
- private static final TField KEYS_FIELD_DESC = new TField("keys",
TType.LIST, (short)1);
+ private static final TField KEYS_FIELD_DESC = new TField("keys",
TType.SET, (short)1);
private static final TField COLUMN_PARENT_FIELD_DESC = new
TField("column_parent", TType.STRUCT, (short)2);
private static final TField PREDICATE_FIELD_DESC = new TField("predicate",
TType.STRUCT, (short)3);
private static final TField CONSISTENCY_LEVEL_FIELD_DESC = new
TField("consistency_level", TType.I32, (short)4);
- public List<byte[]> keys;
+ public Set<byte[]> keys;
public ColumnParent column_parent;
public SlicePredicate predicate;
/**
@@ -8246,7 +8246,7 @@ public class Cassandra {
static {
Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields,
FieldMetaData>(_Fields.class);
tmpMap.put(_Fields.KEYS, new FieldMetaData("keys",
TFieldRequirementType.REQUIRED,
- new ListMetaData(TType.LIST,
+ new SetMetaData(TType.SET,
new FieldValueMetaData(TType.STRING))));
tmpMap.put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent",
TFieldRequirementType.REQUIRED,
new StructMetaData(TType.STRUCT, ColumnParent.class)));
@@ -8264,7 +8264,7 @@ public class Cassandra {
}
public multiget_slice_args(
- List<byte[]> keys,
+ Set<byte[]> keys,
ColumnParent column_parent,
SlicePredicate predicate,
ConsistencyLevel consistency_level)
@@ -8281,7 +8281,7 @@ public class Cassandra {
*/
public multiget_slice_args(multiget_slice_args other) {
if (other.isSetKeys()) {
- List<byte[]> __this__keys = new ArrayList<byte[]>();
+ Set<byte[]> __this__keys = new HashSet<byte[]>();
for (byte[] other_element : other.keys) {
byte[] temp_binary_element = new byte[other_element.length];
System.arraycopy(other_element, 0, temp_binary_element, 0,
other_element.length);
@@ -8319,16 +8319,16 @@ public class Cassandra {
public void addToKeys(byte[] elem) {
if (this.keys == null) {
- this.keys = new ArrayList<byte[]>();
+ this.keys = new HashSet<byte[]>();
}
this.keys.add(elem);
}
- public List<byte[]> getKeys() {
+ public Set<byte[]> getKeys() {
return this.keys;
}
- public multiget_slice_args setKeys(List<byte[]> keys) {
+ public multiget_slice_args setKeys(Set<byte[]> keys) {
this.keys = keys;
return this;
}
@@ -8434,7 +8434,7 @@ public class Cassandra {
if (value == null) {
unsetKeys();
} else {
- setKeys((List<byte[]>)value);
+ setKeys((Set<byte[]>)value);
}
break;
@@ -8625,17 +8625,17 @@ public class Cassandra {
}
switch (field.id) {
case 1: // KEYS
- if (field.type == TType.LIST) {
+ if (field.type == TType.SET) {
{
- TList _list42 = iprot.readListBegin();
- this.keys = new ArrayList<byte[]>(_list42.size);
- for (int _i43 = 0; _i43 < _list42.size; ++_i43)
+ TSet _set42 = iprot.readSetBegin();
+ this.keys = new HashSet<byte[]>(2*_set42.size);
+ for (int _i43 = 0; _i43 < _set42.size; ++_i43)
{
byte[] _elem44;
_elem44 = iprot.readBinary();
this.keys.add(_elem44);
}
- iprot.readListEnd();
+ iprot.readSetEnd();
}
} else {
TProtocolUtil.skip(iprot, field.type);
@@ -8682,12 +8682,12 @@ public class Cassandra {
if (this.keys != null) {
oprot.writeFieldBegin(KEYS_FIELD_DESC);
{
- oprot.writeListBegin(new TList(TType.STRING, this.keys.size()));
+ oprot.writeSetBegin(new TSet(TType.STRING, this.keys.size()));
for (byte[] _iter45 : this.keys)
{
oprot.writeBinary(_iter45);
}
- oprot.writeListEnd();
+ oprot.writeSetEnd();
}
oprot.writeFieldEnd();
}
@@ -9383,12 +9383,12 @@ public class Cassandra {
public static class multiget_count_args implements
TBase<multiget_count_args, multiget_count_args._Fields>, java.io.Serializable,
Cloneable {
private static final TStruct STRUCT_DESC = new
TStruct("multiget_count_args");
- private static final TField KEYS_FIELD_DESC = new TField("keys",
TType.LIST, (short)1);
+ private static final TField KEYS_FIELD_DESC = new TField("keys",
TType.SET, (short)1);
private static final TField COLUMN_PARENT_FIELD_DESC = new
TField("column_parent", TType.STRUCT, (short)2);
private static final TField PREDICATE_FIELD_DESC = new TField("predicate",
TType.STRUCT, (short)3);
private static final TField CONSISTENCY_LEVEL_FIELD_DESC = new
TField("consistency_level", TType.I32, (short)4);
- public List<byte[]> keys;
+ public Set<byte[]> keys;
public ColumnParent column_parent;
public SlicePredicate predicate;
/**
@@ -9474,7 +9474,7 @@ public class Cassandra {
static {
Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields,
FieldMetaData>(_Fields.class);
tmpMap.put(_Fields.KEYS, new FieldMetaData("keys",
TFieldRequirementType.REQUIRED,
- new ListMetaData(TType.LIST,
+ new SetMetaData(TType.SET,
new FieldValueMetaData(TType.STRING))));
tmpMap.put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent",
TFieldRequirementType.REQUIRED,
new StructMetaData(TType.STRUCT, ColumnParent.class)));
@@ -9492,7 +9492,7 @@ public class Cassandra {
}
public multiget_count_args(
- List<byte[]> keys,
+ Set<byte[]> keys,
ColumnParent column_parent,
SlicePredicate predicate,
ConsistencyLevel consistency_level)
@@ -9509,7 +9509,7 @@ public class Cassandra {
*/
public multiget_count_args(multiget_count_args other) {
if (other.isSetKeys()) {
- List<byte[]> __this__keys = new ArrayList<byte[]>();
+ Set<byte[]> __this__keys = new HashSet<byte[]>();
for (byte[] other_element : other.keys) {
byte[] temp_binary_element = new byte[other_element.length];
System.arraycopy(other_element, 0, temp_binary_element, 0,
other_element.length);
@@ -9547,16 +9547,16 @@ public class Cassandra {
public void addToKeys(byte[] elem) {
if (this.keys == null) {
- this.keys = new ArrayList<byte[]>();
+ this.keys = new HashSet<byte[]>();
}
this.keys.add(elem);
}
- public List<byte[]> getKeys() {
+ public Set<byte[]> getKeys() {
return this.keys;
}
- public multiget_count_args setKeys(List<byte[]> keys) {
+ public multiget_count_args setKeys(Set<byte[]> keys) {
this.keys = keys;
return this;
}
@@ -9662,7 +9662,7 @@ public class Cassandra {
if (value == null) {
unsetKeys();
} else {
- setKeys((List<byte[]>)value);
+ setKeys((Set<byte[]>)value);
}
break;
@@ -9853,17 +9853,17 @@ public class Cassandra {
}
switch (field.id) {
case 1: // KEYS
- if (field.type == TType.LIST) {
+ if (field.type == TType.SET) {
{
- TList _list55 = iprot.readListBegin();
- this.keys = new ArrayList<byte[]>(_list55.size);
- for (int _i56 = 0; _i56 < _list55.size; ++_i56)
+ TSet _set55 = iprot.readSetBegin();
+ this.keys = new HashSet<byte[]>(2*_set55.size);
+ for (int _i56 = 0; _i56 < _set55.size; ++_i56)
{
byte[] _elem57;
_elem57 = iprot.readBinary();
this.keys.add(_elem57);
}
- iprot.readListEnd();
+ iprot.readSetEnd();
}
} else {
TProtocolUtil.skip(iprot, field.type);
@@ -9910,12 +9910,12 @@ public class Cassandra {
if (this.keys != null) {
oprot.writeFieldBegin(KEYS_FIELD_DESC);
{
- oprot.writeListBegin(new TList(TType.STRING, this.keys.size()));
+ oprot.writeSetBegin(new TSet(TType.STRING, this.keys.size()));
for (byte[] _iter58 : this.keys)
{
oprot.writeBinary(_iter58);
}
- oprot.writeListEnd();
+ oprot.writeSetEnd();
}
oprot.writeFieldEnd();
}
Modified:
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java?rev=992355&r1=992354&r2=992355&view=diff
==============================================================================
---
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
(original)
+++
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
Fri Sep 3 16:23:57 2010
@@ -42,6 +42,6 @@ import org.slf4j.LoggerFactory;
public class Constants {
- public static final String VERSION = "12.1.0";
+ public static final String VERSION = "13.0.0";
}
Modified:
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=992355&r1=992354&r2=992355&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
Fri Sep 3 16:23:57 2010
@@ -252,10 +252,11 @@ public class CassandraServer implements
logger.debug("get_slice");
clientState.hasKeyspaceAccess(Permission.READ_VALUE);
- return multigetSliceInternal(clientState.getKeyspace(),
Arrays.asList(key), column_parent, predicate, consistency_level).get(key);
+
+ return multigetSliceInternal(clientState.getKeyspace(),
Collections.singleton(key), column_parent, predicate,
consistency_level).get(key);
}
- public Map<byte[], List<ColumnOrSuperColumn>> multiget_slice(List<byte[]>
keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel
consistency_level)
+ public Map<byte[], List<ColumnOrSuperColumn>> multiget_slice(Set<byte[]>
keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel
consistency_level)
throws InvalidRequestException, UnavailableException, TimedOutException
{
if (logger.isDebugEnabled())
@@ -266,7 +267,7 @@ public class CassandraServer implements
return multigetSliceInternal(clientState.getKeyspace(), keys,
column_parent, predicate, consistency_level);
}
- private Map<byte[], List<ColumnOrSuperColumn>>
multigetSliceInternal(String keyspace, List<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
+ private Map<byte[], List<ColumnOrSuperColumn>>
multigetSliceInternal(String keyspace, Set<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
throws InvalidRequestException, UnavailableException, TimedOutException
{
ThriftValidation.validateColumnParent(keyspace, column_parent);
@@ -333,7 +334,7 @@ public class CassandraServer implements
return get_slice(key, column_parent, predicate,
consistency_level).size();
}
- public Map<byte[], Integer> multiget_count(List<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
+ public Map<byte[], Integer> multiget_count(Set<byte[]> keys, ColumnParent
column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)
throws InvalidRequestException, UnavailableException, TimedOutException
{
if (logger.isDebugEnabled())