You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ma...@apache.org on 2021/12/18 14:07:34 UTC

[zookeeper] branch master updated: ZOOKEEPER-2907: Logged request buffer isn't useful

This is an automated email from the ASF dual-hosted git repository.

maoling pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zookeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 3b0603f  ZOOKEEPER-2907: Logged request buffer isn't useful
3b0603f is described below

commit 3b0603f526fda4715904bfe2d1bba8a79458f00c
Author: Nishanth Entoor <en...@gmail.com>
AuthorDate: Sat Dec 18 22:05:11 2021 +0800

    ZOOKEEPER-2907: Logged request buffer isn't useful
    
    As per [ZOOKEEPER-2907](https://issues.apache.org/jira/browse/ZOOKEEPER-2907), we have no padding while converting byte to hex and the request type is not part of the output. So I made the following changes:
    - Used String formatter to convert byte to hex with padding.
    - Added request type as part of the log message.
    
    Please let me know if additional changes are required.
    
    Author: Nishanth Entoor <en...@gmail.com>
    
    Reviewers: HorizonNet <ja...@ultratendency.com>, maoling <maoling@apache.org
    
    Closes #1221 from nishanth-entoor/ZOOKEEPER-2907
---
 .../main/java/org/apache/zookeeper/server/FinalRequestProcessor.java  | 4 ++--
 .../main/java/org/apache/zookeeper/server/PrepRequestProcessor.java   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/FinalRequestProcessor.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/FinalRequestProcessor.java
index 6db245e..e73f85d 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/FinalRequestProcessor.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/FinalRequestProcessor.java
@@ -595,9 +595,9 @@ public class FinalRequestProcessor implements RequestProcessor {
             ByteBuffer bb = request.request;
             bb.rewind();
             while (bb.hasRemaining()) {
-                sb.append(Integer.toHexString(bb.get() & 0xff));
+                sb.append(String.format("%02x", (0xff & bb.get())));
             }
-            LOG.error("Dumping request buffer: 0x{}", sb.toString());
+            LOG.error("Dumping request buffer for request type {}: 0x{}", Request.op2String(request.type), sb);
             err = Code.MARSHALLINGERROR;
         }
 
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/PrepRequestProcessor.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/PrepRequestProcessor.java
index 513e034..28ea11a 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/PrepRequestProcessor.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/PrepRequestProcessor.java
@@ -955,13 +955,13 @@ public class PrepRequestProcessor extends ZooKeeperCriticalThread implements Req
             if (bb != null) {
                 bb.rewind();
                 while (bb.hasRemaining()) {
-                    sb.append(Integer.toHexString(bb.get() & 0xff));
+                    sb.append(String.format("%02x", (0xff & bb.get())));
                 }
             } else {
                 sb.append("request buffer is null");
             }
 
-            LOG.error("Dumping request buffer: 0x{}", sb.toString());
+            LOG.error("Dumping request buffer for request type {}: 0x{}", Request.op2String(request.type), sb);
             if (request.getHdr() != null) {
                 request.getHdr().setType(OpCode.error);
                 request.setTxn(new ErrorTxn(Code.MARSHALLINGERROR.intValue()));