You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ki...@apache.org on 2019/10/21 21:52:03 UTC
[hadoop] branch branch-2.9 updated: HDFS-12749. DN may not send
block report to NN after NN restart. Contributed by Xiaoqiao He.
This is an automated email from the ASF dual-hosted git repository.
kihwal pushed a commit to branch branch-2.9
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-2.9 by this push:
new d112bf8 HDFS-12749. DN may not send block report to NN after NN restart. Contributed by Xiaoqiao He.
d112bf8 is described below
commit d112bf8c34815399196480b040ab940542f4d052
Author: Kihwal Lee <ki...@apache.org>
AuthorDate: Mon Oct 21 16:51:47 2019 -0500
HDFS-12749. DN may not send block report to NN after NN restart. Contributed by Xiaoqiao He.
(cherry picked from commit c4e27ef7735acd6f91b73d2ecb0227f8dd75a2e4)
---
.../hadoop/hdfs/server/datanode/BPServiceActor.java | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
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 84dbd06..15f5c0b 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
@@ -773,11 +773,16 @@ class BPServiceActor implements Runnable {
} catch(EOFException e) { // namenode might have just restarted
LOG.info("Problem connecting to server: " + nnAddr + " :"
+ e.getLocalizedMessage());
- sleepAndLogInterrupts(1000, "connecting to server");
} catch(SocketTimeoutException e) { // namenode is busy
LOG.info("Problem connecting to server: " + nnAddr);
- sleepAndLogInterrupts(1000, "connecting to server");
+ } catch(RemoteException e) {
+ LOG.warn("RemoteException in register", e);
+ throw e;
+ } catch(IOException e) {
+ LOG.warn("Problem connecting to server: " + nnAddr);
}
+ // Try again in a second
+ sleepAndLogInterrupts(1000, "connecting to server");
}
LOG.info("Block pool " + this + " successfully registered with NN");
@@ -880,6 +885,15 @@ class BPServiceActor implements Runnable {
if (bpos.processCommandFromActor(cmd, this) == false) {
return false;
}
+ } catch (RemoteException re) {
+ String reClass = re.getClassName();
+ if (UnregisteredNodeException.class.getName().equals(reClass) ||
+ DisallowedDatanodeException.class.getName().equals(reClass) ||
+ IncorrectVersionException.class.getName().equals(reClass)) {
+ LOG.warn(this + " is shutting down", re);
+ shouldServiceRun = false;
+ return false;
+ }
} catch (IOException ioe) {
LOG.warn("Error processing datanode Command", ioe);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org