瀏覽代碼

HDDS-2151. Ozone client logs the entire request payload at DEBUG level (#1477)

Doroszlai, Attila 5 年之前
父節點
當前提交
1ada99b0bd
共有 1 個文件被更改,包括 24 次插入1 次删除
  1. 24 1
      hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java

+ 24 - 1
hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java

@@ -218,13 +218,36 @@ public final class XceiverClientRatis extends XceiverClientSpi {
               .build();
       boolean isReadOnlyRequest = HddsUtils.isReadOnly(finalPayload);
       ByteString byteString = finalPayload.toByteString();
-      LOG.debug("sendCommandAsync {} {}", isReadOnlyRequest, finalPayload);
+      if (LOG.isDebugEnabled()) {
+        LOG.debug("sendCommandAsync {} {}", isReadOnlyRequest,
+            sanitizeForDebug(finalPayload));
+      }
       return isReadOnlyRequest ?
           getClient().sendReadOnlyAsync(() -> byteString) :
           getClient().sendAsync(() -> byteString);
     }
   }
 
+  private ContainerCommandRequestProto sanitizeForDebug(
+      ContainerCommandRequestProto request) {
+    switch (request.getCmdType()) {
+    case PutSmallFile:
+      return request.toBuilder()
+          .setPutSmallFile(request.getPutSmallFile().toBuilder()
+              .clearData()
+          )
+          .build();
+    case WriteChunk:
+      return request.toBuilder()
+          .setWriteChunk(request.getWriteChunk().toBuilder()
+              .clearData()
+          )
+          .build();
+    default:
+      return request;
+    }
+  }
+
   // gets the minimum log index replicated to all servers
   @Override
   public long getReplicatedMinCommitIndex() {