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 we...@apache.org on 2017/12/07 22:59:45 UTC
hadoop git commit: HDFS-11915. Sync rbw dir on the first hsync() to
avoid file lost on power failure. Contributed by Vinayakumar B.
Repository: hadoop
Updated Branches:
refs/heads/trunk acb92904d -> d6c31a3e6
HDFS-11915. Sync rbw dir on the first hsync() to avoid file lost on power failure. Contributed by Vinayakumar B.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d6c31a3e
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d6c31a3e
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d6c31a3e
Branch: refs/heads/trunk
Commit: d6c31a3e6b60c4b8af9ae4661f16614805654e59
Parents: acb9290
Author: Wei-Chiu Chuang <we...@apache.org>
Authored: Thu Dec 7 14:50:30 2017 -0800
Committer: Wei-Chiu Chuang <we...@apache.org>
Committed: Thu Dec 7 14:50:30 2017 -0800
----------------------------------------------------------------------
.../org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java | 5 +++++
1 file changed, 5 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/d6c31a3e/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 c052d52..afb9e2a 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
@@ -126,6 +126,7 @@ class BlockReceiver implements Closeable {
private boolean syncOnClose;
private volatile boolean dirSyncOnFinalize;
+ private boolean dirSyncOnHSyncDone = false;
private long restartBudget;
/** the reference of the volume where the block receiver writes to */
private ReplicaHandler replicaHandler;
@@ -424,6 +425,10 @@ class BlockReceiver implements Closeable {
}
flushTotalNanos += flushEndNanos - flushStartNanos;
}
+ if (isSync && !dirSyncOnHSyncDone && replicaInfo instanceof LocalReplica) {
+ ((LocalReplica) replicaInfo).fsyncDirectory();
+ dirSyncOnHSyncDone = true;
+ }
if (checksumOut != null || streams.getDataOut() != null) {
datanode.metrics.addFlushNanos(flushTotalNanos);
if (isSync) {
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org