hadoop git commit: HDFS-7990. IBR delete ack should not be delayed. Contributed by Daryn Sharp.
Repository: hadoop Updated Branches: refs/heads/trunk af618f23a -> 60882ab26 HDFS-7990. IBR delete ack should not be delayed. Contributed by Daryn Sharp. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/60882ab2 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/60882ab2 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/60882ab2 Branch: refs/heads/trunk Commit: 60882ab26d49f05cbf0686944af6559f86b3417d Parents: af618f2 Author: Kihwal Lee Authored: Fri Mar 27 09:05:17 2015 -0500 Committer: Kihwal Lee Committed: Fri Mar 27 09:05:17 2015 -0500 -- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt| 2 ++ .../hdfs/server/datanode/BPServiceActor.java | 17 +++-- .../apache/hadoop/hdfs/server/datanode/DNConf.java | 2 -- .../hdfs/server/datanode/SimulatedFSDataset.java | 13 - .../datanode/TestIncrementalBlockReports.java | 4 ++-- 5 files changed, 23 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/60882ab2/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 dff8bd2..72ea4fb 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -342,6 +342,8 @@ Release 2.8.0 - UNRELEASED HDFS-7928. Scanning blocks from disk during rolling upgrade startup takes a lot of time if disks are busy (Rushabh S Shah via kihwal) +HDFS-7990. IBR delete ack should not be delayed. (daryn via kihwal) + OPTIMIZATIONS BUG FIXES http://git-wip-us.apache.org/repos/asf/hadoop/blob/60882ab2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java index 10cce45..3b4756c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java @@ -82,12 +82,11 @@ class BPServiceActor implements Runnable { final BPOfferService bpos; - // lastBlockReport, lastDeletedReport and lastHeartbeat may be assigned/read + // lastBlockReport and lastHeartbeat may be assigned/read // by testing threads (through BPServiceActor#triggerXXX), while also // assigned/read by the actor thread. Thus they should be declared as volatile // to make sure the "happens-before" consistency. volatile long lastBlockReport = 0; - volatile long lastDeletedReport = 0; boolean resetBlockReportTime = true; @@ -417,10 +416,10 @@ class BPServiceActor implements Runnable { @VisibleForTesting void triggerDeletionReportForTests() { synchronized (pendingIncrementalBRperStorage) { - lastDeletedReport = 0; + sendImmediateIBR = true; pendingIncrementalBRperStorage.notifyAll(); - while (lastDeletedReport == 0) { + while (sendImmediateIBR) { try { pendingIncrementalBRperStorage.wait(100); } catch (InterruptedException e) { @@ -465,7 +464,6 @@ class BPServiceActor implements Runnable { // or we will report an RBW replica after the BlockReport already reports // a FINALIZED one. reportReceivedDeletedBlocks(); -lastDeletedReport = startTime; long brCreateStartTime = monotonicNow(); Map perVolumeBlockLists = @@ -674,7 +672,6 @@ class BPServiceActor implements Runnable { */ private void offerService() throws Exception { LOG.info("For namenode " + nnAddr + " using" -+ " DELETEREPORT_INTERVAL of " + dnConf.deleteReportInterval + " msec " + " BLOCKREPORT_INTERVAL of " + dnConf.blockReportInterval + "msec" + " CACHEREPORT_INTERVAL of " + dnConf.cacheReportInterval + "msec" + " Initial delay: " + dnConf.initialBlockReportDelay + "msec" @@ -690,7 +687,9 @@ class BPServiceActor implements Runnable { // // Every so often, send heartbeat or block-report // -if (startTime - lastHeartbeat >= dnConf.heartBeatInterval) { +boolean sendHeartbeat = +startTime - lastHeartbeat >= dnConf.heartBeatInterval; +if (sendHeartbeat) { // // All heartbeat messages include following info: // -- Datanode name @@ -729,10 +728,8 @@ class BPServiceActor implements Runnable { } } }
[03/20] hadoop git commit: HDFS-7990. IBR delete ack should not be delayed. Contributed by Daryn Sharp.
HDFS-7990. IBR delete ack should not be delayed. Contributed by Daryn Sharp. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f402f6d5 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f402f6d5 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f402f6d5 Branch: refs/heads/YARN-2928 Commit: f402f6d592569601efee5682316aad0a403447b3 Parents: ee35265 Author: Kihwal Lee Authored: Fri Mar 27 09:05:17 2015 -0500 Committer: Zhijie Shen Committed: Mon Mar 30 12:10:46 2015 -0700 -- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt| 2 ++ .../hdfs/server/datanode/BPServiceActor.java | 17 +++-- .../apache/hadoop/hdfs/server/datanode/DNConf.java | 2 -- .../hdfs/server/datanode/SimulatedFSDataset.java | 13 - .../datanode/TestIncrementalBlockReports.java | 4 ++-- 5 files changed, 23 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/f402f6d5/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 dff8bd2..72ea4fb 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -342,6 +342,8 @@ Release 2.8.0 - UNRELEASED HDFS-7928. Scanning blocks from disk during rolling upgrade startup takes a lot of time if disks are busy (Rushabh S Shah via kihwal) +HDFS-7990. IBR delete ack should not be delayed. (daryn via kihwal) + OPTIMIZATIONS BUG FIXES http://git-wip-us.apache.org/repos/asf/hadoop/blob/f402f6d5/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java index 10cce45..3b4756c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java @@ -82,12 +82,11 @@ class BPServiceActor implements Runnable { final BPOfferService bpos; - // lastBlockReport, lastDeletedReport and lastHeartbeat may be assigned/read + // lastBlockReport and lastHeartbeat may be assigned/read // by testing threads (through BPServiceActor#triggerXXX), while also // assigned/read by the actor thread. Thus they should be declared as volatile // to make sure the "happens-before" consistency. volatile long lastBlockReport = 0; - volatile long lastDeletedReport = 0; boolean resetBlockReportTime = true; @@ -417,10 +416,10 @@ class BPServiceActor implements Runnable { @VisibleForTesting void triggerDeletionReportForTests() { synchronized (pendingIncrementalBRperStorage) { - lastDeletedReport = 0; + sendImmediateIBR = true; pendingIncrementalBRperStorage.notifyAll(); - while (lastDeletedReport == 0) { + while (sendImmediateIBR) { try { pendingIncrementalBRperStorage.wait(100); } catch (InterruptedException e) { @@ -465,7 +464,6 @@ class BPServiceActor implements Runnable { // or we will report an RBW replica after the BlockReport already reports // a FINALIZED one. reportReceivedDeletedBlocks(); -lastDeletedReport = startTime; long brCreateStartTime = monotonicNow(); Map perVolumeBlockLists = @@ -674,7 +672,6 @@ class BPServiceActor implements Runnable { */ private void offerService() throws Exception { LOG.info("For namenode " + nnAddr + " using" -+ " DELETEREPORT_INTERVAL of " + dnConf.deleteReportInterval + " msec " + " BLOCKREPORT_INTERVAL of " + dnConf.blockReportInterval + "msec" + " CACHEREPORT_INTERVAL of " + dnConf.cacheReportInterval + "msec" + " Initial delay: " + dnConf.initialBlockReportDelay + "msec" @@ -690,7 +687,9 @@ class BPServiceActor implements Runnable { // // Every so often, send heartbeat or block-report // -if (startTime - lastHeartbeat >= dnConf.heartBeatInterval) { +boolean sendHeartbeat = +startTime - lastHeartbeat >= dnConf.heartBeatInterval; +if (sendHeartbeat) { // // All heartbeat messages include following info: // -- Datanode name @@ -729,10 +728,8 @@ class BPServiceActor implements Runnable { } } } -if (sendImmediateIBR || -(startTime - lastDeletedReport
[01/50] [abbrv] hadoop git commit: HDFS-7990. IBR delete ack should not be delayed. Contributed by Daryn Sharp.
Repository: hadoop Updated Branches: refs/heads/HDFS-7285 27cb5701e -> a6543ac97 (forced update) HDFS-7990. IBR delete ack should not be delayed. Contributed by Daryn Sharp. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/60882ab2 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/60882ab2 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/60882ab2 Branch: refs/heads/HDFS-7285 Commit: 60882ab26d49f05cbf0686944af6559f86b3417d Parents: af618f2 Author: Kihwal Lee Authored: Fri Mar 27 09:05:17 2015 -0500 Committer: Kihwal Lee Committed: Fri Mar 27 09:05:17 2015 -0500 -- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt| 2 ++ .../hdfs/server/datanode/BPServiceActor.java | 17 +++-- .../apache/hadoop/hdfs/server/datanode/DNConf.java | 2 -- .../hdfs/server/datanode/SimulatedFSDataset.java | 13 - .../datanode/TestIncrementalBlockReports.java | 4 ++-- 5 files changed, 23 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/60882ab2/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 dff8bd2..72ea4fb 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -342,6 +342,8 @@ Release 2.8.0 - UNRELEASED HDFS-7928. Scanning blocks from disk during rolling upgrade startup takes a lot of time if disks are busy (Rushabh S Shah via kihwal) +HDFS-7990. IBR delete ack should not be delayed. (daryn via kihwal) + OPTIMIZATIONS BUG FIXES http://git-wip-us.apache.org/repos/asf/hadoop/blob/60882ab2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java index 10cce45..3b4756c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java @@ -82,12 +82,11 @@ class BPServiceActor implements Runnable { final BPOfferService bpos; - // lastBlockReport, lastDeletedReport and lastHeartbeat may be assigned/read + // lastBlockReport and lastHeartbeat may be assigned/read // by testing threads (through BPServiceActor#triggerXXX), while also // assigned/read by the actor thread. Thus they should be declared as volatile // to make sure the "happens-before" consistency. volatile long lastBlockReport = 0; - volatile long lastDeletedReport = 0; boolean resetBlockReportTime = true; @@ -417,10 +416,10 @@ class BPServiceActor implements Runnable { @VisibleForTesting void triggerDeletionReportForTests() { synchronized (pendingIncrementalBRperStorage) { - lastDeletedReport = 0; + sendImmediateIBR = true; pendingIncrementalBRperStorage.notifyAll(); - while (lastDeletedReport == 0) { + while (sendImmediateIBR) { try { pendingIncrementalBRperStorage.wait(100); } catch (InterruptedException e) { @@ -465,7 +464,6 @@ class BPServiceActor implements Runnable { // or we will report an RBW replica after the BlockReport already reports // a FINALIZED one. reportReceivedDeletedBlocks(); -lastDeletedReport = startTime; long brCreateStartTime = monotonicNow(); Map perVolumeBlockLists = @@ -674,7 +672,6 @@ class BPServiceActor implements Runnable { */ private void offerService() throws Exception { LOG.info("For namenode " + nnAddr + " using" -+ " DELETEREPORT_INTERVAL of " + dnConf.deleteReportInterval + " msec " + " BLOCKREPORT_INTERVAL of " + dnConf.blockReportInterval + "msec" + " CACHEREPORT_INTERVAL of " + dnConf.cacheReportInterval + "msec" + " Initial delay: " + dnConf.initialBlockReportDelay + "msec" @@ -690,7 +687,9 @@ class BPServiceActor implements Runnable { // // Every so often, send heartbeat or block-report // -if (startTime - lastHeartbeat >= dnConf.heartBeatInterval) { +boolean sendHeartbeat = +startTime - lastHeartbeat >= dnConf.heartBeatInterval; +if (sendHeartbeat) { // // All heartbeat messages include following info: // -- Datanode name @@ -729,10 +728,8 @@ class BPServiceActor implements Runnable { }
hadoop git commit: HDFS-7990. IBR delete ack should not be delayed. Contributed by Daryn Sharp. (cherry picked from commit 60882ab26d49f05cbf0686944af6559f86b3417d)
Repository: hadoop Updated Branches: refs/heads/branch-2 36371cddd -> 577ea0886 HDFS-7990. IBR delete ack should not be delayed. Contributed by Daryn Sharp. (cherry picked from commit 60882ab26d49f05cbf0686944af6559f86b3417d) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/577ea088 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/577ea088 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/577ea088 Branch: refs/heads/branch-2 Commit: 577ea088655480a7550d968c02f8b5dd8b0d5298 Parents: 36371cd Author: Kihwal Lee Authored: Fri Mar 27 09:06:23 2015 -0500 Committer: Kihwal Lee Committed: Fri Mar 27 09:06:23 2015 -0500 -- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt| 2 ++ .../hdfs/server/datanode/BPServiceActor.java | 17 +++-- .../apache/hadoop/hdfs/server/datanode/DNConf.java | 2 -- .../hdfs/server/datanode/SimulatedFSDataset.java | 13 - .../datanode/TestIncrementalBlockReports.java | 4 ++-- 5 files changed, 23 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/577ea088/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 743a5c2..09bbfaa 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -27,6 +27,8 @@ Release 2.8.0 - UNRELEASED HDFS-7928. Scanning blocks from disk during rolling upgrade startup takes a lot of time if disks are busy (Rushabh S Shah via kihwal) +HDFS-7990. IBR delete ack should not be delayed. (daryn via kihwal) + OPTIMIZATIONS BUG FIXES http://git-wip-us.apache.org/repos/asf/hadoop/blob/577ea088/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java index 10cce45..3b4756c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java @@ -82,12 +82,11 @@ class BPServiceActor implements Runnable { final BPOfferService bpos; - // lastBlockReport, lastDeletedReport and lastHeartbeat may be assigned/read + // lastBlockReport and lastHeartbeat may be assigned/read // by testing threads (through BPServiceActor#triggerXXX), while also // assigned/read by the actor thread. Thus they should be declared as volatile // to make sure the "happens-before" consistency. volatile long lastBlockReport = 0; - volatile long lastDeletedReport = 0; boolean resetBlockReportTime = true; @@ -417,10 +416,10 @@ class BPServiceActor implements Runnable { @VisibleForTesting void triggerDeletionReportForTests() { synchronized (pendingIncrementalBRperStorage) { - lastDeletedReport = 0; + sendImmediateIBR = true; pendingIncrementalBRperStorage.notifyAll(); - while (lastDeletedReport == 0) { + while (sendImmediateIBR) { try { pendingIncrementalBRperStorage.wait(100); } catch (InterruptedException e) { @@ -465,7 +464,6 @@ class BPServiceActor implements Runnable { // or we will report an RBW replica after the BlockReport already reports // a FINALIZED one. reportReceivedDeletedBlocks(); -lastDeletedReport = startTime; long brCreateStartTime = monotonicNow(); Map perVolumeBlockLists = @@ -674,7 +672,6 @@ class BPServiceActor implements Runnable { */ private void offerService() throws Exception { LOG.info("For namenode " + nnAddr + " using" -+ " DELETEREPORT_INTERVAL of " + dnConf.deleteReportInterval + " msec " + " BLOCKREPORT_INTERVAL of " + dnConf.blockReportInterval + "msec" + " CACHEREPORT_INTERVAL of " + dnConf.cacheReportInterval + "msec" + " Initial delay: " + dnConf.initialBlockReportDelay + "msec" @@ -690,7 +687,9 @@ class BPServiceActor implements Runnable { // // Every so often, send heartbeat or block-report // -if (startTime - lastHeartbeat >= dnConf.heartBeatInterval) { +boolean sendHeartbeat = +startTime - lastHeartbeat >= dnConf.heartBeatInterval; +if (sendHeartbeat) { // // All heartbeat messages include following info: // -- Datanode name @@ -729,10 +728,8 @@ class BPS
[1/2] hadoop git commit: HDFS-7990. IBR delete ack should not be delayed. Contributed by Daryn Sharp. Backport HDFS-11838 by Vinitha Gankidi.
Repository: hadoop Updated Branches: refs/heads/branch-2.7 2b58fb8b0 -> 42c2d36ba HDFS-7990. IBR delete ack should not be delayed. Contributed by Daryn Sharp. Backport HDFS-11838 by Vinitha Gankidi. (cherry picked from commit 60882ab26d49f05cbf0686944af6559f86b3417d) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2c3f6aed Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2c3f6aed Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2c3f6aed Branch: refs/heads/branch-2.7 Commit: 2c3f6aedf11ef0729a306faab26e22854de4248d Parents: 2b58fb8 Author: Konstantin V Shvachko Authored: Wed May 17 23:58:27 2017 -0700 Committer: Konstantin V Shvachko Committed: Wed May 17 23:58:27 2017 -0700 -- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt| 3 +++ .../hadoop/hdfs/server/datanode/BPServiceActor.java| 13 +++-- .../org/apache/hadoop/hdfs/server/datanode/DNConf.java | 2 -- .../hdfs/server/datanode/SimulatedFSDataset.java | 13 - .../server/datanode/TestIncrementalBlockReports.java | 4 ++-- 5 files changed, 20 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/2c3f6aed/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 19b2996..32a5069 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -88,6 +88,9 @@ Release 2.7.4 - UNRELEASED HDFS-11785. Backport HDFS-9902 to branch-2.7: Support different values of dfs.datanode.du.reserved per storage type. (Brahma Reddy Battula) +HDFS-7990. IBR delete ack should not be delayed. (Daryn Sharp. +Backport HDFS-11838 by Vinitha Gankidi) + OPTIMIZATIONS HDFS-10896. Move lock logging logic from FSNamesystem into FSNamesystemLock. http://git-wip-us.apache.org/repos/asf/hadoop/blob/2c3f6aed/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java index 05aca6c..38b7e94 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java @@ -82,8 +82,6 @@ class BPServiceActor implements Runnable { HAServiceState state; final BPOfferService bpos; - - volatile long lastDeletedReport = 0; volatile long lastCacheReport = 0; private final Scheduler scheduler; @@ -385,10 +383,10 @@ class BPServiceActor implements Runnable { @VisibleForTesting void triggerDeletionReportForTests() { synchronized (pendingIncrementalBRperStorage) { - lastDeletedReport = 0; + sendImmediateIBR = true; pendingIncrementalBRperStorage.notifyAll(); - while (lastDeletedReport == 0) { + while (sendImmediateIBR) { try { pendingIncrementalBRperStorage.wait(100); } catch (InterruptedException e) { @@ -421,7 +419,6 @@ class BPServiceActor implements Runnable { */ List blockReport() throws IOException { // send block report if timer has expired. -final long startTime = scheduler.monotonicNow(); if (!scheduler.isBlockReportDue()) { return null; } @@ -433,7 +430,6 @@ class BPServiceActor implements Runnable { // or we will report an RBW replica after the BlockReport already reports // a FINALIZED one. reportReceivedDeletedBlocks(); -lastDeletedReport = startTime; long brCreateStartTime = monotonicNow(); Map perVolumeBlockLists = @@ -624,7 +620,6 @@ class BPServiceActor implements Runnable { */ private void offerService() throws Exception { LOG.info("For namenode " + nnAddr + " using" -+ " DELETEREPORT_INTERVAL of " + dnConf.deleteReportInterval + " msec " + " BLOCKREPORT_INTERVAL of " + dnConf.blockReportInterval + "msec" + " CACHEREPORT_INTERVAL of " + dnConf.cacheReportInterval + "msec" + " Initial delay: " + dnConf.initialBlockReportDelay + "msec" @@ -679,10 +674,8 @@ class BPServiceActor implements Runnable { } } } -if (sendImmediateIBR || -(startTime - lastDeletedReport > dnConf.deleteReportInterval)) { +if (sendImmediateIBR || sendHeartbeat) { reportReceivedDeletedBlocks(); - lastDeletedRe