Skip to content

Commit

Permalink
Revert "HDFS-16898. Make write lock fine-grain in method processComma…
Browse files Browse the repository at this point in the history
…ndFromActor (#5330). Contributed by ZhangHB."

This reverts commit eb04ecd.
  • Loading branch information
Hexiaoqiao committed Feb 8, 2023
1 parent eb04ecd commit 7e91921
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -679,20 +679,15 @@ boolean processCommandFromActor(DatanodeCommand cmd,
actor.reRegister();
return false;
}
boolean isActiveActor;
InetSocketAddress nnSocketAddress;
readLock();
writeLock();
try {
isActiveActor = (actor == bpServiceToActive);
nnSocketAddress = actor.getNNSocketAddress();
if (actor == bpServiceToActive) {
return processCommandFromActive(cmd, actor);
} else {
return processCommandFromStandby(cmd, actor);
}
} finally {
readUnlock();
}

if (isActiveActor) {
return processCommandFromActive(cmd, nnSocketAddress);
} else {
return processCommandFromStandby(cmd, nnSocketAddress);
writeUnlock();
}
}

Expand Down Expand Up @@ -720,7 +715,7 @@ private String blockIdArrayToString(long ids[]) {
* @throws IOException
*/
private boolean processCommandFromActive(DatanodeCommand cmd,
InetSocketAddress nnSocketAddress) throws IOException {
BPServiceActor actor) throws IOException {
final BlockCommand bcmd =
cmd instanceof BlockCommand? (BlockCommand)cmd: null;
final BlockIdCommand blockIdCmd =
Expand Down Expand Up @@ -773,7 +768,7 @@ assert getBlockPoolId().equals(bp) :
dn.finalizeUpgradeForPool(bp);
break;
case DatanodeProtocol.DNA_RECOVERBLOCK:
String who = "NameNode at " + nnSocketAddress;
String who = "NameNode at " + actor.getNNSocketAddress();
dn.getBlockRecoveryWorker().recoverBlocks(who,
((BlockRecoveryCommand)cmd).getRecoveringBlocks());
break;
Expand Down Expand Up @@ -815,11 +810,11 @@ assert getBlockPoolId().equals(bp) :
* DNA_REGISTER which should be handled earlier itself.
*/
private boolean processCommandFromStandby(DatanodeCommand cmd,
InetSocketAddress nnSocketAddress) throws IOException {
BPServiceActor actor) throws IOException {
switch(cmd.getAction()) {
case DatanodeProtocol.DNA_ACCESSKEYUPDATE:
LOG.info("DatanodeCommand action from standby NN {}: DNA_ACCESSKEYUPDATE",
nnSocketAddress);
actor.getNNSocketAddress());
if (dn.isBlockTokenEnabled) {
dn.blockPoolTokenSecretManager.addKeys(
getBlockPoolId(),
Expand All @@ -836,11 +831,11 @@ private boolean processCommandFromStandby(DatanodeCommand cmd,
case DatanodeProtocol.DNA_UNCACHE:
case DatanodeProtocol.DNA_ERASURE_CODING_RECONSTRUCTION:
LOG.warn("Got a command from standby NN {} - ignoring command: {}",
nnSocketAddress, cmd.getAction());
actor.getNNSocketAddress(), cmd.getAction());
break;
default:
LOG.warn("Unknown DatanodeCommand action: {} from standby NN {}",
cmd.getAction(), nnSocketAddress);
cmd.getAction(), actor.getNNSocketAddress());
}
return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1499,7 +1499,7 @@ private boolean processCommand(DatanodeCommand[] cmds) {
dn.getMetrics().addNumProcessedCommands(processCommandsMs);
}
if (processCommandsMs > dnConf.getProcessCommandsThresholdMs()) {
LOG.warn("Took {} ms to process {} commands from NN",
LOG.info("Took {} ms to process {} commands from NN",
processCommandsMs, cmds.length);
}
}
Expand Down

0 comments on commit 7e91921

Please sign in to comment.