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:29:51 UTC
[1/2] cassandra git commit: Avoid NPE when serializing ErrorMessage
with null msg
Repository: cassandra
Updated Branches:
refs/heads/cassandra-3.0 037d24efd -> e9abaabfe
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/cassandra-3.0
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/2] 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/cassandra-3.0
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
----------------------------------------------------------------------