HDFS-7217. Better batching of IBRs. Contributed by Kihwal Lee.
(cherry picked from commit db71bb54bc
)
This commit is contained in:
parent
f86c9c6c71
commit
0280e9aee0
|
@ -278,6 +278,8 @@ Release 2.6.0 - UNRELEASED
|
|||
HDFS-6894. Add XDR parser method for each NFS response.
|
||||
(Brandon Li via wheat9)
|
||||
|
||||
HDFS-7217. Better batching of IBRs. (kihwal)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HDFS-6690. Deduplicate xattr names in memory. (wang)
|
||||
|
|
|
@ -237,7 +237,7 @@ class BPOfferService {
|
|||
delHint);
|
||||
|
||||
for (BPServiceActor actor : bpServices) {
|
||||
actor.notifyNamenodeBlockImmediately(bInfo, storageUuid);
|
||||
actor.notifyNamenodeBlock(bInfo, storageUuid, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -270,7 +270,7 @@ class BPOfferService {
|
|||
block.getLocalBlock(), BlockStatus.RECEIVING_BLOCK, null);
|
||||
|
||||
for (BPServiceActor actor : bpServices) {
|
||||
actor.notifyNamenodeBlockImmediately(bInfo, storageUuid);
|
||||
actor.notifyNamenodeBlock(bInfo, storageUuid, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -368,13 +368,17 @@ class BPServiceActor implements Runnable {
|
|||
* till namenode is informed before responding with success to the
|
||||
* client? For now we don't.
|
||||
*/
|
||||
void notifyNamenodeBlockImmediately(
|
||||
ReceivedDeletedBlockInfo bInfo, String storageUuid) {
|
||||
void notifyNamenodeBlock(ReceivedDeletedBlockInfo bInfo,
|
||||
String storageUuid, boolean now) {
|
||||
synchronized (pendingIncrementalBRperStorage) {
|
||||
addPendingReplicationBlockInfo(
|
||||
bInfo, dn.getFSDataset().getStorage(storageUuid));
|
||||
sendImmediateIBR = true;
|
||||
pendingIncrementalBRperStorage.notifyAll();
|
||||
// If now is true, the report is sent right away.
|
||||
// Otherwise, it will be sent out in the next heartbeat.
|
||||
if (now) {
|
||||
pendingIncrementalBRperStorage.notifyAll();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ public class TestIncrementalBlockReports {
|
|||
private void injectBlockReceived() {
|
||||
ReceivedDeletedBlockInfo rdbi = new ReceivedDeletedBlockInfo(
|
||||
getDummyBlock(), BlockStatus.RECEIVED_BLOCK, null);
|
||||
actor.notifyNamenodeBlockImmediately(rdbi, storageUuid);
|
||||
actor.notifyNamenodeBlock(rdbi, storageUuid, true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue