You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ty...@apache.org on 2014/06/27 16:31:03 UTC
[1/2] git commit: Properly handle unrecognized opcodes and flags
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1 9da949bbe -> 9e3d13e70
Properly handle unrecognized opcodes and flags
Patch by Tyler Hobbs; reviewed by Sylvain Lebresne for CASSANDRA-7440
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e3242315
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e3242315
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e3242315
Branch: refs/heads/cassandra-2.1
Commit: e32423159d9b31131cc95bccfcfa6b5dabbc070a
Parents: 2b973b9
Author: Tyler Hobbs <ty...@datastax.com>
Authored: Fri Jun 27 09:28:18 2014 -0500
Committer: Tyler Hobbs <ty...@datastax.com>
Committed: Fri Jun 27 09:28:18 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/transport/Frame.java | 7 ++++---
src/java/org/apache/cassandra/transport/Message.java | 2 ++
3 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e3242315/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 365722f..d587a94 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
* Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
* Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
operations to incorrect become full QUORUM (CASSANDRA-7345)
+ * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
2.0.9
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e3242315/src/java/org/apache/cassandra/transport/Frame.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/Frame.java b/src/java/org/apache/cassandra/transport/Frame.java
index 6472b39..89755df 100644
--- a/src/java/org/apache/cassandra/transport/Frame.java
+++ b/src/java/org/apache/cassandra/transport/Frame.java
@@ -92,14 +92,15 @@ public class Frame
COMPRESSED,
TRACING;
+ private static final Flag[] ALL_VALUES = values();
+
public static EnumSet<Flag> deserialize(int flags)
{
EnumSet<Flag> set = EnumSet.noneOf(Flag.class);
- Flag[] values = Flag.values();
- for (int n = 0; n < 8; n++)
+ for (int n = 0; n < ALL_VALUES.length; n++)
{
if ((flags & (1 << n)) != 0)
- set.add(values[n]);
+ set.add(ALL_VALUES[n]);
}
return set;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e3242315/src/java/org/apache/cassandra/transport/Message.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/Message.java b/src/java/org/apache/cassandra/transport/Message.java
index 0731081..eea3b48 100644
--- a/src/java/org/apache/cassandra/transport/Message.java
+++ b/src/java/org/apache/cassandra/transport/Message.java
@@ -103,6 +103,8 @@ public abstract class Message
public static Type fromOpcode(int opcode, Direction direction)
{
+ if (opcode >= opcodeIdx.length)
+ throw new ProtocolException(String.format("Unknown opcode %d", opcode));
Type t = opcodeIdx[opcode];
if (t == null)
throw new ProtocolException(String.format("Unknown opcode %d", opcode));
[2/2] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Posted by ty...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9e3d13e7
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9e3d13e7
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9e3d13e7
Branch: refs/heads/cassandra-2.1
Commit: 9e3d13e70a23c3144c0f4de61c5666862011b996
Parents: 9da949b e324231
Author: Tyler Hobbs <ty...@datastax.com>
Authored: Fri Jun 27 09:29:29 2014 -0500
Committer: Tyler Hobbs <ty...@datastax.com>
Committed: Fri Jun 27 09:29:29 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/transport/Frame.java | 7 ++++---
src/java/org/apache/cassandra/transport/Message.java | 2 ++
3 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e3d13e7/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 64f2bee,d587a94..a04f76a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -7,36 -2,29 +7,37 @@@ Merged from 2.0
* Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
* Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
operations to incorrect become full QUORUM (CASSANDRA-7345)
+ * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
-2.0.9
- * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
- * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
- * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
+2.1.0-rc2
+ * Fix heap size calculation for CompoundSparseCellName and
+ CompoundSparseCellName.WithCollection (CASSANDRA-7421)
+ * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351)
+ * Modify reconcile logic to always pick a tombstone over a counter cell
+ (CASSANDRA-7346)
+ * Avoid incremental compaction on Windows (CASSANDRA-7365)
+ * Fix exception when querying a composite-keyed table with a collection index
+ (CASSANDRA-7372)
+ * Use node's host id in place of counter ids (CASSANDRA-7366)
* Fix native protocol CAS batches (CASSANDRA-7337)
+ * Reduce likelihood of contention on local paxos locking (CASSANDRA-7359)
+ * Upgrade to Pig 0.12.1 (CASSANDRA-6556)
+ * Make sure we clear out repair sessions from netstats (CASSANDRA-7329)
+ * Don't fail streams on failure detector downs (CASSANDRA-3569)
+ * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314)
+ * Reduce run time for CQL tests (CASSANDRA-7327)
+ * Fix heap size calculation on Windows (CASSANDRA-7352, 7353)
+ * RefCount native frames from netty (CASSANDRA-7245)
+ * Use tarball dir instead of /var for default paths (CASSANDRA-7136)
+ * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193)
+ * Fix schema change response in native protocol v3 (CASSANDRA-7413)
+Merged from 2.0:
+ * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
* Add per-CF range read request latency metrics (CASSANDRA-7338)
* Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323)
- * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
- * Swap local and global default read repair chances (CASSANDRA-7320)
- * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
- * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
- * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274)
- * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
- * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
- * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
- * Add authentication support to shuffle (CASSANDRA-6484)
- * Cqlsh counts non-empty lines for "Blank lines" warning (CASSANDRA-7325)
* Make StreamSession#closeSession() idempotent (CASSANDRA-7262)
* Fix infinite loop on exception while streaming (CASSANDRA-7330)
- * Reference sstables before populating key cache (CASSANDRA-7234)
* Account for range tombstones in min/max column names (CASSANDRA-7235)
* Improve sub range repair validation (CASSANDRA-7317)
* Accept subtypes for function results, type casts (CASSANDRA-6766)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e3d13e7/src/java/org/apache/cassandra/transport/Frame.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e3d13e7/src/java/org/apache/cassandra/transport/Message.java
----------------------------------------------------------------------