You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by ew...@apache.org on 2016/06/07 03:28:51 UTC

kafka git commit: KAFKA-3781; Errors.exceptionName() can throw NPE

Repository: kafka
Updated Branches:
  refs/heads/trunk f643d1b75 -> feab5a374


KAFKA-3781; Errors.exceptionName() can throw NPE

Author: Ismael Juma <is...@juma.me.uk>

Reviewers: Grant Henke <gr...@gmail.com>, Ewen Cheslack-Postava <ew...@confluent.io>

Closes #1476 from ijuma/kafka-3781-exception-name-npe


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

Branch: refs/heads/trunk
Commit: feab5a374a33a7b7b8e96c6a88b872c4db33dcf1
Parents: f643d1b
Author: Ismael Juma <is...@juma.me.uk>
Authored: Mon Jun 6 20:28:31 2016 -0700
Committer: Ewen Cheslack-Postava <me...@ewencp.org>
Committed: Mon Jun 6 20:28:31 2016 -0700

----------------------------------------------------------------------
 .../java/org/apache/kafka/common/protocol/Errors.java     |  4 ++--
 .../java/org/apache/kafka/common/protocol/ErrorsTest.java | 10 ++++++++++
 2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kafka/blob/feab5a37/clients/src/main/java/org/apache/kafka/common/protocol/Errors.java
----------------------------------------------------------------------
diff --git a/clients/src/main/java/org/apache/kafka/common/protocol/Errors.java b/clients/src/main/java/org/apache/kafka/common/protocol/Errors.java
index 64a709e..bd7310b 100644
--- a/clients/src/main/java/org/apache/kafka/common/protocol/Errors.java
+++ b/clients/src/main/java/org/apache/kafka/common/protocol/Errors.java
@@ -170,10 +170,10 @@ public enum Errors {
     }
 
     /**
-     * Returns the class name of the exception
+     * Returns the class name of the exception or null if this is {@code Errors.NONE}.
      */
     public String exceptionName() {
-        return exception.getClass().getName();
+        return exception == null ? null : exception.getClass().getName();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/kafka/blob/feab5a37/clients/src/test/java/org/apache/kafka/common/protocol/ErrorsTest.java
----------------------------------------------------------------------
diff --git a/clients/src/test/java/org/apache/kafka/common/protocol/ErrorsTest.java b/clients/src/test/java/org/apache/kafka/common/protocol/ErrorsTest.java
index 2d96e58..e198e73 100644
--- a/clients/src/test/java/org/apache/kafka/common/protocol/ErrorsTest.java
+++ b/clients/src/test/java/org/apache/kafka/common/protocol/ErrorsTest.java
@@ -77,4 +77,14 @@ public class ErrorsTest {
         assertEquals("forException should default to unknown", Errors.UNKNOWN, error);
     }
 
+    @Test
+    public void testExceptionName() {
+        String exceptionName = Errors.UNKNOWN.exceptionName();
+        assertEquals("org.apache.kafka.common.errors.UnknownServerException", exceptionName);
+        exceptionName = Errors.NONE.exceptionName();
+        assertNull(exceptionName);
+        exceptionName = Errors.INVALID_TOPIC_EXCEPTION.exceptionName();
+        assertEquals("org.apache.kafka.common.errors.InvalidTopicException", exceptionName);
+    }
+
 }