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 2016/02/23 18:30:03 UTC

[1/3] cassandra git commit: Avoid NPE when serializing ErrorMessage with null msg

Repository: cassandra
Updated Branches:
  refs/heads/trunk fc9c6faa2 -> babf30dd1


Avoid NPE when serializing ErrorMessage with null msg

Patch by Tyler Hobbs; reviewed by Carl Yeksigian for CASSANDRA-11167


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/50095947
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/50095947
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/50095947

Branch: refs/heads/trunk
Commit: 50095947e25f630ce48ee24d10ff3e1f3fd91183
Parents: c8c8cf6
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Tue Feb 23 11:28:17 2016 -0600
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Tue Feb 23 11:28:17 2016 -0600

----------------------------------------------------------------------
 CHANGES.txt                                       |  1 +
 .../transport/messages/ErrorMessage.java          |  6 ++++--
 .../cassandra/transport/ProtocolErrorTest.java    | 18 ++++++++++++++++++
 3 files changed, 23 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/50095947/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 767eb8a..01e7b3d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.6
+ * Avoid NPE when serializing ErrorMessage with null message (CASSANDRA-11167)
  * Replacing an aggregate with a new version doesn't reset INITCOND (CASSANDRA-10840)
  * (cqlsh) cqlsh cannot be called through symlink (CASSANDRA-11037)
  * fix ohc and java-driver pom dependencies in build.xml (CASSANDRA-10793)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/50095947/src/java/org/apache/cassandra/transport/messages/ErrorMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/messages/ErrorMessage.java b/src/java/org/apache/cassandra/transport/messages/ErrorMessage.java
index 222e833..021db5a 100644
--- a/src/java/org/apache/cassandra/transport/messages/ErrorMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/ErrorMessage.java
@@ -151,7 +151,8 @@ public class ErrorMessage extends Message.Response
         {
             final TransportException err = getBackwardsCompatibleException(msg, version);
             dest.writeInt(err.code().value);
-            CBUtil.writeString(err.getMessage(), dest);
+            String errorString = err.getMessage() == null ? "" : err.getMessage();
+            CBUtil.writeString(errorString, dest);
 
             switch (err.code())
             {
@@ -212,7 +213,8 @@ public class ErrorMessage extends Message.Response
         public int encodedSize(ErrorMessage msg, int version)
         {
             final TransportException err = getBackwardsCompatibleException(msg, version);
-            int size = 4 + CBUtil.sizeOfString(err.getMessage());
+            String errorString = err.getMessage() == null ? "" : err.getMessage();
+            int size = 4 + CBUtil.sizeOfString(errorString);
             switch (err.code())
             {
                 case UNAVAILABLE:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/50095947/test/unit/org/apache/cassandra/transport/ProtocolErrorTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/transport/ProtocolErrorTest.java b/test/unit/org/apache/cassandra/transport/ProtocolErrorTest.java
index 11b0ebd..fc8c41c 100644
--- a/test/unit/org/apache/cassandra/transport/ProtocolErrorTest.java
+++ b/test/unit/org/apache/cassandra/transport/ProtocolErrorTest.java
@@ -113,4 +113,22 @@ public class ProtocolErrorTest {
             Assert.assertTrue(e.getMessage().contains("Request is too big"));
         }
     }
+
+    @Test
+    public void testErrorMessageWithNullString() throws Exception
+    {
+        // test for CASSANDRA-11167
+        ErrorMessage msg = ErrorMessage.fromException(new ServerError((String) null));
+        assert msg.toString().endsWith("null") : msg.toString();
+        int size = ErrorMessage.codec.encodedSize(msg, Server.CURRENT_VERSION);
+        ByteBuf buf = Unpooled.buffer(size);
+        ErrorMessage.codec.encode(msg, buf, Server.CURRENT_VERSION);
+
+        ByteBuf expected = Unpooled.wrappedBuffer(new byte[]{
+                0x00, 0x00, 0x00, 0x00,  // int error code
+                0x00, 0x00               // short message length
+        });
+
+        Assert.assertEquals(expected, buf);
+    }
 }


[2/3] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by ty...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0

Conflicts:
	CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e9abaabf
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e9abaabf
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e9abaabf

Branch: refs/heads/trunk
Commit: e9abaabfe83f74b1ef7c0273bdd7738402fb0ebc
Parents: 037d24e 5009594
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Tue Feb 23 11:29:04 2016 -0600
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Tue Feb 23 11:29:04 2016 -0600

----------------------------------------------------------------------
 CHANGES.txt                                       |  1 +
 .../transport/messages/ErrorMessage.java          |  6 ++++--
 .../cassandra/transport/ProtocolErrorTest.java    | 18 ++++++++++++++++++
 3 files changed, 23 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e9abaabf/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index a675016,01e7b3d..cd2a930
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,5 +1,22 @@@
 -2.2.6
 +3.0.4
 + * Introduce backpressure for hints (CASSANDRA-10972)
 + * Fix ClusteringPrefix not being able to read tombstone range boundaries (CASSANDRA-11158)
 + * Prevent logging in sandboxed state (CASSANDRA-11033)
 + * Disallow drop/alter operations of UDTs used by UDAs (CASSANDRA-10721)
 + * Add query time validation method on Index (CASSANDRA-11043)
 + * Avoid potential AssertionError in mixed version cluster (CASSANDRA-11128)
 + * Properly handle hinted handoff after topology changes (CASSANDRA-5902)
 + * AssertionError when listing sstable files on inconsistent disk state (CASSANDRA-11156)
 + * Fix wrong rack counting and invalid conditions check for TokenAllocation
 +   (CASSANDRA-11139)
 + * Avoid creating empty hint files (CASSANDRA-11090)
 + * Fix leak detection strong reference loop using weak reference (CASSANDRA-11120)
 + * Configurie BatchlogManager to stop delayed tasks on shutdown (CASSANDRA-11062)
 + * Hadoop integration is incompatible with Cassandra Driver 3.0.0 (CASSANDRA-11001)
 + * Add dropped_columns to the list of schema table so it gets handled
 +   properly (CASSANDRA-11050)
 +Merged from 2.2:
+  * Avoid NPE when serializing ErrorMessage with null message (CASSANDRA-11167)
   * Replacing an aggregate with a new version doesn't reset INITCOND (CASSANDRA-10840)
   * (cqlsh) cqlsh cannot be called through symlink (CASSANDRA-11037)
   * fix ohc and java-driver pom dependencies in build.xml (CASSANDRA-10793)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e9abaabf/test/unit/org/apache/cassandra/transport/ProtocolErrorTest.java
----------------------------------------------------------------------


[3/3] cassandra git commit: Merge branch 'cassandra-3.0' into trunk

Posted by ty...@apache.org.
Merge branch 'cassandra-3.0' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/babf30dd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/babf30dd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/babf30dd

Branch: refs/heads/trunk
Commit: babf30dd13dfdd49398d4067edff874f64051ad2
Parents: fc9c6fa e9abaab
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Tue Feb 23 11:29:13 2016 -0600
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Tue Feb 23 11:29:13 2016 -0600

----------------------------------------------------------------------
 CHANGES.txt                                       |  1 +
 .../transport/messages/ErrorMessage.java          |  6 ++++--
 .../cassandra/transport/ProtocolErrorTest.java    | 18 ++++++++++++++++++
 3 files changed, 23 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/babf30dd/CHANGES.txt
----------------------------------------------------------------------