You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ka...@apache.org on 2016/01/25 18:25:59 UTC
[24/50] [abbrv] hadoop git commit: HDFS-9674. The HTrace span for
OpWriteBlock should record the maxWriteToDisk time. Contributed by Colin
McCabe.
HDFS-9674. The HTrace span for OpWriteBlock should record the maxWriteToDisk time. Contributed by Colin McCabe.
Change-Id: I9bf3f3bcd57f5880189ad7c160f3dd66f97d904b
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b4a05c1f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b4a05c1f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b4a05c1f
Branch: refs/heads/YARN-1011
Commit: b4a05c1fd5ae98e28cf2b15f5b068e6c2d12f2a8
Parents: 2a86735
Author: Zhe Zhang <zh...@apache.org>
Authored: Thu Jan 21 13:25:42 2016 -0800
Committer: Zhe Zhang <zh...@apache.org>
Committed: Thu Jan 21 13:25:42 2016 -0800
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++
.../hadoop/hdfs/server/datanode/BlockReceiver.java | 11 +++++++++++
2 files changed, 14 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/b4a05c1f/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index da16357..0ded0c4 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -941,6 +941,9 @@ Release 2.9.0 - UNRELEASED
HDFS-9542. Move BlockIdManager from FSNamesystem to BlockManager. (jing9)
+ HDFS-9674. The HTrace span for OpWriteBlock should record the maxWriteToDisk
+ time. (cmccabe via zhz)
+
OPTIMIZATIONS
BUG FIXES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/b4a05c1f/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java
index 8003c76..e7908a5 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java
@@ -58,6 +58,8 @@ import org.apache.hadoop.util.Daemon;
import org.apache.hadoop.util.DataChecksum;
import org.apache.hadoop.util.StringUtils;
import org.apache.hadoop.util.Time;
+import org.apache.htrace.core.Span;
+import org.apache.htrace.core.Tracer;
import static org.apache.hadoop.io.nativeio.NativeIO.POSIX.POSIX_FADV_DONTNEED;
import static org.apache.hadoop.io.nativeio.NativeIO.POSIX.SYNC_FILE_RANGE_WRITE;
@@ -136,6 +138,7 @@ class BlockReceiver implements Closeable {
private long lastResponseTime = 0;
private boolean isReplaceBlock = false;
private DataOutputStream replyOut = null;
+ private long maxWriteToDiskMs = 0;
private boolean pinning;
private long lastSentTime;
@@ -302,6 +305,11 @@ class BlockReceiver implements Closeable {
*/
@Override
public void close() throws IOException {
+ Span span = Tracer.getCurrentSpan();
+ if (span != null) {
+ span.addKVAnnotation("maxWriteToDiskMs",
+ Long.toString(maxWriteToDiskMs));
+ }
packetReceiver.close();
IOException ioe = null;
@@ -697,6 +705,9 @@ class BlockReceiver implements Closeable {
long begin = Time.monotonicNow();
out.write(dataBuf.array(), startByteToDisk, numBytesToDisk);
long duration = Time.monotonicNow() - begin;
+ if (duration > maxWriteToDiskMs) {
+ maxWriteToDiskMs = duration;
+ }
if (duration > datanodeSlowLogThresholdMs) {
LOG.warn("Slow BlockReceiver write data to disk cost:" + duration
+ "ms (threshold=" + datanodeSlowLogThresholdMs + "ms)");