瀏覽代碼

HADOOP-5222. Add offset to datanode clienttrace. Contributed by Lei Xu

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/trunk@746855 13f79535-47bb-0310-9956-ffa450edef68
Christopher Douglas 16 年之前
父節點
當前提交
8474406e7c

+ 2 - 0
CHANGES.txt

@@ -118,6 +118,8 @@ Trunk (unreleased changes)
     HADOOP-5120. Remove the use of FSNamesystem.getFSNamesystem() from 
     HADOOP-5120. Remove the use of FSNamesystem.getFSNamesystem() from 
     UpgradeManagerNamenode and UpgradeObjectNamenode.  (szetszwo)
     UpgradeManagerNamenode and UpgradeObjectNamenode.  (szetszwo)
 
 
+    HADOOP-5222. Add offset to datanode clienttrace. (Lei Xu via cdouglas)
+
   OPTIMIZATIONS
   OPTIMIZATIONS
 
 
   BUG FIXES
   BUG FIXES

+ 4 - 2
src/hdfs/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java

@@ -801,9 +801,10 @@ class BlockReceiver implements java.io.Closeable, FSConstants {
                     DataNode.EMPTY_DEL_HINT);
                     DataNode.EMPTY_DEL_HINT);
                 if (ClientTraceLog.isInfoEnabled() &&
                 if (ClientTraceLog.isInfoEnabled() &&
                     receiver.clientName.length() > 0) {
                     receiver.clientName.length() > 0) {
+                  long offset = 0;
                   ClientTraceLog.info(String.format(DN_CLIENTTRACE_FORMAT,
                   ClientTraceLog.info(String.format(DN_CLIENTTRACE_FORMAT,
                         receiver.inAddr, receiver.myAddr, block.getNumBytes(),
                         receiver.inAddr, receiver.myAddr, block.getNumBytes(),
-                        "HDFS_WRITE", receiver.clientName,
+                        "HDFS_WRITE", receiver.clientName, offset,
                         datanode.dnRegistration.getStorageID(), block));
                         datanode.dnRegistration.getStorageID(), block));
                 } else {
                 } else {
                   LOG.info("Received block " + block + 
                   LOG.info("Received block " + block + 
@@ -924,9 +925,10 @@ class BlockReceiver implements java.io.Closeable, FSConstants {
                   DataNode.EMPTY_DEL_HINT);
                   DataNode.EMPTY_DEL_HINT);
               if (ClientTraceLog.isInfoEnabled() &&
               if (ClientTraceLog.isInfoEnabled() &&
                   receiver.clientName.length() > 0) {
                   receiver.clientName.length() > 0) {
+                long offset = 0;
                 ClientTraceLog.info(String.format(DN_CLIENTTRACE_FORMAT,
                 ClientTraceLog.info(String.format(DN_CLIENTTRACE_FORMAT,
                       receiver.inAddr, receiver.myAddr, block.getNumBytes(),
                       receiver.inAddr, receiver.myAddr, block.getNumBytes(),
-                      "HDFS_WRITE", receiver.clientName,
+                      "HDFS_WRITE", receiver.clientName, offset,
                       datanode.dnRegistration.getStorageID(), block));
                       datanode.dnRegistration.getStorageID(), block));
               } else {
               } else {
                 LOG.info("Received block " + block + 
                 LOG.info("Received block " + block + 

+ 1 - 1
src/hdfs/org/apache/hadoop/hdfs/server/datanode/BlockSender.java

@@ -412,7 +412,7 @@ class BlockSender implements java.io.Closeable, FSConstants {
       }
       }
     } finally {
     } finally {
       if (clientTraceFmt != null) {
       if (clientTraceFmt != null) {
-        ClientTraceLog.info(String.format(clientTraceFmt, totalRead));
+        ClientTraceLog.info(String.format(clientTraceFmt, totalRead, initialOffset));
       }
       }
       close();
       close();
     }
     }

+ 1 - 0
src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java

@@ -138,6 +138,7 @@ public class DataNode extends Configured
         ", bytes: %s" +  // byte count
         ", bytes: %s" +  // byte count
         ", op: %s" +     // operation
         ", op: %s" +     // operation
         ", cliID: %s" +  // DFSClient id
         ", cliID: %s" +  // DFSClient id
+        ", offset: %s" + // offset
         ", srvID: %s" +  // DatanodeRegistration
         ", srvID: %s" +  // DatanodeRegistration
         ", blockid: %s"; // block id
         ", blockid: %s"; // block id
   static final Log ClientTraceLog =
   static final Log ClientTraceLog =

+ 1 - 1
src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java

@@ -163,7 +163,7 @@ class DataXceiver implements Runnable, FSConstants {
     final String clientTraceFmt =
     final String clientTraceFmt =
       clientName.length() > 0 && ClientTraceLog.isInfoEnabled()
       clientName.length() > 0 && ClientTraceLog.isInfoEnabled()
         ? String.format(DN_CLIENTTRACE_FORMAT, localAddress, remoteAddress,
         ? String.format(DN_CLIENTTRACE_FORMAT, localAddress, remoteAddress,
-            "%d", "HDFS_READ", clientName,
+            "%d", "HDFS_READ", clientName, "%d",
             datanode.dnRegistration.getStorageID(), block)
             datanode.dnRegistration.getStorageID(), block)
         : datanode.dnRegistration + " Served block " + block + " to " +
         : datanode.dnRegistration + " Served block " + block + " to " +
             s.getInetAddress();
             s.getInetAddress();