Repository: cassandra Updated Branches: refs/heads/trunk e78b002b1 -> c0be34182
Fix regression from CASSANDRA-6855 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/233761e5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/233761e5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/233761e5 Branch: refs/heads/trunk Commit: 233761e53988301222dfaa590dc7fd8ee396c9b4 Parents: 68961a6 Author: Sylvain Lebresne <sylv...@datastax.com> Authored: Thu May 1 11:37:36 2014 +0200 Committer: Sylvain Lebresne <sylv...@datastax.com> Committed: Thu May 1 11:37:36 2014 +0200 ---------------------------------------------------------------------- src/java/org/apache/cassandra/cql3/QueryOptions.java | 4 +--- .../cassandra/serializers/CollectionSerializer.java | 10 ++++++---- 2 files changed, 7 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/233761e5/src/java/org/apache/cassandra/cql3/QueryOptions.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql3/QueryOptions.java b/src/java/org/apache/cassandra/cql3/QueryOptions.java index 12accaf..5801d55 100644 --- a/src/java/org/apache/cassandra/cql3/QueryOptions.java +++ b/src/java/org/apache/cassandra/cql3/QueryOptions.java @@ -58,7 +58,7 @@ public abstract class QueryOptions public static QueryOptions forInternalCalls(ConsistencyLevel consistency, List<ByteBuffer> values) { - return new DefaultQueryOptions(consistency, values, false, SpecificOptions.DEFAULT, 0); + return new DefaultQueryOptions(consistency, values, false, SpecificOptions.DEFAULT, 3); } public static QueryOptions fromPreV3Batch(ConsistencyLevel consistency) @@ -123,8 +123,6 @@ public abstract class QueryOptions private final SpecificOptions options; - // The protocol version of incoming queries. This is set during deserializaion and will be 0 - // if the QueryOptions does not come from a user message (or come from thrift). private final transient int protocolVersion; DefaultQueryOptions(ConsistencyLevel consistency, List<ByteBuffer> values, boolean skipMetadata, SpecificOptions options, int protocolVersion) http://git-wip-us.apache.org/repos/asf/cassandra/blob/233761e5/src/java/org/apache/cassandra/serializers/CollectionSerializer.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/serializers/CollectionSerializer.java b/src/java/org/apache/cassandra/serializers/CollectionSerializer.java index 0e16fda..43b04f3 100644 --- a/src/java/org/apache/cassandra/serializers/CollectionSerializer.java +++ b/src/java/org/apache/cassandra/serializers/CollectionSerializer.java @@ -38,15 +38,17 @@ public abstract class CollectionSerializer<T> implements TypeSerializer<T> public ByteBuffer serialize(T value) { List<ByteBuffer> values = serializeValues(value); - // The only case we serialize/deserialize collections internally (i.e. not for the protocol sake), - // is when collections are in UDT values. There, we use the protocol 3 version since it's more flexible. + // See deserialize() for why using the protocol v3 variant is the right thing to do. return pack(values, getElementCount(value), 3); } public T deserialize(ByteBuffer bytes) { - // The only case we serialize/deserialize collections internally (i.e. not for the protocol sake), - // is when collections are in UDT values. There, we use the protocol 3 version since it's more flexible. + // The only cases we serialize/deserialize collections internally (i.e. not for the protocol sake), + // is: + // 1) when collections are in UDT values + // 2) for internal calls. + // In both case, using the protocol 3 version variant is the right thing to do. return deserializeForNativeProtocol(bytes, 3); }