Repository: hadoop Updated Branches: refs/heads/trunk bb6a3c833 -> 077a5eed9
HDFS-12358. Handle IOException when transferring edit log to Journal current dir through JN sync. Contributed by Hanisha Koneru. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/077a5eed Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/077a5eed Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/077a5eed Branch: refs/heads/trunk Commit: 077a5eed9f505f3ad8fe46d86f3fabed762eeb15 Parents: bb6a3c8 Author: Arpit Agarwal <[email protected]> Authored: Sat Aug 26 22:47:55 2017 -0700 Committer: Arpit Agarwal <[email protected]> Committed: Sat Aug 26 22:47:55 2017 -0700 ---------------------------------------------------------------------- .../hdfs/qjournal/server/JournalNodeSyncer.java | 23 +++++++++++--------- 1 file changed, 13 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/077a5eed/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournalNodeSyncer.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournalNodeSyncer.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournalNodeSyncer.java index 537ba0a..0155b85 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournalNodeSyncer.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournalNodeSyncer.java @@ -403,20 +403,23 @@ public class JournalNodeSyncer { LOG.info("Downloaded file " + tmpEditsFile.getName() + " of size " + tmpEditsFile.length() + " bytes."); - final boolean moveSuccess = journal.moveTmpSegmentToCurrent(tmpEditsFile, - finalEditsFile, log.getEndTxId()); - if (!moveSuccess) { - // If move is not successful, delete the tmpFile - LOG.debug("Move to current directory unsuccessful. Deleting temporary " + - "file: " + tmpEditsFile); - if (!tmpEditsFile.delete()) { + boolean moveSuccess = false; + try { + moveSuccess = journal.moveTmpSegmentToCurrent(tmpEditsFile, + finalEditsFile, log.getEndTxId()); + } catch (IOException e) { + LOG.info("Could not move %s to current directory.", tmpEditsFile); + } finally { + if (tmpEditsFile.exists() && !tmpEditsFile.delete()) { LOG.warn("Deleting " + tmpEditsFile + " has failed"); } - return false; - } else { + } + if (moveSuccess) { metrics.incrNumEditLogsSynced(); + return true; + } else { + return false; } - return true; } private static DataTransferThrottler getThrottler(Configuration conf) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
