HDFS-7603. The background replication queue initialization may not let others run. Contributed by Kihwal Lee.
(cherry picked from commit 89b07490f8
)
This commit is contained in:
parent
1081b4c4a7
commit
3b030731a0
|
@ -275,6 +275,9 @@ Release 2.7.0 - UNRELEASED
|
||||||
|
|
||||||
HDFS-7675. Remove unused member DFSClient#spanReceiverHost (cmccabe)
|
HDFS-7675. Remove unused member DFSClient#spanReceiverHost (cmccabe)
|
||||||
|
|
||||||
|
HDFS-7603. The background replication queue initialization may not let
|
||||||
|
others run (kihwal)
|
||||||
|
|
||||||
OPTIMIZATIONS
|
OPTIMIZATIONS
|
||||||
|
|
||||||
HDFS-7454. Reduce memory footprint for AclEntries in NameNode.
|
HDFS-7454. Reduce memory footprint for AclEntries in NameNode.
|
||||||
|
|
|
@ -2615,6 +2615,9 @@ public class BlockManager {
|
||||||
long totalBlocks = blocksMap.size();
|
long totalBlocks = blocksMap.size();
|
||||||
replicationQueuesInitProgress = 0;
|
replicationQueuesInitProgress = 0;
|
||||||
long totalProcessed = 0;
|
long totalProcessed = 0;
|
||||||
|
long sleepDuration =
|
||||||
|
Math.max(1, Math.min(numBlocksPerIteration/1000, 10000));
|
||||||
|
|
||||||
while (namesystem.isRunning() && !Thread.currentThread().isInterrupted()) {
|
while (namesystem.isRunning() && !Thread.currentThread().isInterrupted()) {
|
||||||
int processed = 0;
|
int processed = 0;
|
||||||
namesystem.writeLockInterruptibly();
|
namesystem.writeLockInterruptibly();
|
||||||
|
@ -2671,6 +2674,8 @@ public class BlockManager {
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
namesystem.writeUnlock();
|
namesystem.writeUnlock();
|
||||||
|
// Make sure it is out of the write lock for sufficiently long time.
|
||||||
|
Thread.sleep(sleepDuration);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Thread.currentThread().isInterrupted()) {
|
if (Thread.currentThread().isInterrupted()) {
|
||||||
|
|
Loading…
Reference in New Issue