You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by iv...@apache.org on 2012/04/24 19:42:07 UTC

svn commit: r1329886 - in /zookeeper/bookkeeper/trunk: CHANGES.txt hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java

Author: ivank
Date: Tue Apr 24 17:42:06 2012
New Revision: 1329886

URL: http://svn.apache.org/viewvc?rev=1329886&view=rev
Log:
BOOKKEEPER-217: NPE in hedwig client when enable DEBUG (sijie via ivank)

Modified:
    zookeeper/bookkeeper/trunk/CHANGES.txt
    zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java

Modified: zookeeper/bookkeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/CHANGES.txt?rev=1329886&r1=1329885&r2=1329886&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/CHANGES.txt (original)
+++ zookeeper/bookkeeper/trunk/CHANGES.txt Tue Apr 24 17:42:06 2012
@@ -90,6 +90,10 @@ Trunk (unreleased changes)
 
         BOOKKEEPER-213: PerChannelBookieClient calls the wrong errorOut function when encountering an exception (Aniruddha via sijie)
 
+      hedwig-client/
+
+        BOOKKEEPER-217: NPE in hedwig client when enable DEBUG (sijie via ivank)
+
       hedwig-server/
       
         BOOKKEEPER-140: Hub server doesn't subscribe remote region correctly when a region is down. (Sijie Gou via ivank)

Modified: zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java?rev=1329886&r1=1329885&r2=1329886&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java (original)
+++ zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java Tue Apr 24 17:42:06 2012
@@ -90,10 +90,17 @@ public class HedwigSubscriber implements
                           SubscriptionOptions options)
             throws CouldNotConnectException, ClientAlreadySubscribedException,
         ClientNotSubscribedException, ServiceDownException {
-        if (logger.isDebugEnabled())
-            logger.debug("Calling a sync subUnsub request for topic: " + topic.toStringUtf8() + ", subscriberId: "
-                         + subscriberId.toStringUtf8() + ", operationType: " + operationType + ", createOrAttach: "
-                         + options.getCreateOrAttach() + ", messageBound: " + options.getMessageBound());
+        if (logger.isDebugEnabled()) {
+            StringBuilder debugMsg = new StringBuilder().append("Calling a sync subUnsub request for topic: ")
+                                     .append(topic.toStringUtf8()).append(", subscriberId: ")
+                                     .append(subscriberId.toStringUtf8()).append(", operationType: ")
+                                     .append(operationType);
+            if (null != options) {
+                debugMsg.append(", createOrAttach: ").append(options.getCreateOrAttach())
+                        .append(", messageBound: ").append(options.getMessageBound());
+            }
+            logger.debug(debugMsg.toString());
+        }
         PubSubData pubSubData = new PubSubData(topic, null, subscriberId, operationType, options, null, null);
         synchronized (pubSubData) {
             PubSubCallback pubSubCallback = new PubSubCallback(pubSubData);
@@ -142,10 +149,17 @@ public class HedwigSubscriber implements
     // either SUBSCRIBE or UNSUBSCRIBE.
     private void asyncSubUnsub(ByteString topic, ByteString subscriberId, Callback<Void> callback, Object context,
                                OperationType operationType, SubscriptionOptions options) {
-        if (logger.isDebugEnabled())
-            logger.debug("Calling an async subUnsub request for topic: " + topic.toStringUtf8() + ", subscriberId: "
-                         + subscriberId.toStringUtf8() + ", operationType: " + operationType + ", createOrAttach: "
-                         + options.getCreateOrAttach() + ", messageBound: " + options.getMessageBound());
+        if (logger.isDebugEnabled()) {
+            StringBuilder debugMsg = new StringBuilder().append("Calling a async subUnsub request for topic: ")
+                                     .append(topic.toStringUtf8()).append(", subscriberId: ")
+                                     .append(subscriberId.toStringUtf8()).append(", operationType: ")
+                                     .append(operationType);
+            if (null != options) {
+                debugMsg.append(", createOrAttach: ").append(options.getCreateOrAttach())
+                        .append(", messageBound: ").append(options.getMessageBound());
+            }
+            logger.debug(debugMsg.toString());
+        }
         // Check if we know which server host is the master for the topic we are
         // subscribing to.
         PubSubData pubSubData = new PubSubData(topic, null, subscriberId, operationType, options, callback,