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:36:07 UTC
[hadoop] branch branch-3.1 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-3.1
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new 362657c HDFS-12749. DN may not send block report to NN after NN restart. Contributed by Xiaoqiao He.
362657c is described below
commit 362657c1a3518d703085d0a3909c74d8a7f22c93
Author: Kihwal Lee <ki...@apache.org>
AuthorDate: Mon Oct 21 16:35:50 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 fe931fc..d4e32da 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
@@ -774,11 +774,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");
@@ -881,6 +886,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