This is an automated email from the ASF dual-hosted git repository.
stack pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 3fc28e9 HBASE-23247 [hbck2] Schedule SCPs for 'Unknown Servers' (#791)
3fc28e9 is described below
commit 3fc28e956c8db6faea98db84dcaafedcdcddc46a
Author: Michael Stack <[email protected]>
AuthorDate: Mon Nov 4 08:59:57 2019 -0800
HBASE-23247 [hbck2] Schedule SCPs for 'Unknown Servers' (#791)
Signed-off-by: Sean Busbey <[email protected]>
Signed-off-by: Duo Zhang <[email protected]>
---
.../hadoop/hbase/procedure2/store/ProcedureStoreTracker.java | 3 +++
.../java/org/apache/hadoop/hbase/master/MasterRpcServices.java | 10 +++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
index 7d430d6..9459c04 100644
---
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
+++
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
@@ -137,6 +137,9 @@ public class ProcedureStoreTracker {
node = lookupClosestNode(node, procId);
assert node != null : "expected node to update procId=" + procId;
assert node.contains(procId) : "expected procId=" + procId + " in the
node";
+ if (node == null) {
+ throw new NullPointerException("pid=" + procId);
+ }
node.insertOrUpdate(procId);
trackProcIds(procId);
return node;
diff --git
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
index e0b80a1..3ea418c 100644
---
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
+++
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.master;
import static org.apache.hadoop.hbase.master.MasterWalManager.META_FILTER;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.BindException;
import java.net.InetAddress;
@@ -2489,7 +2490,14 @@ public class MasterRpcServices extends RSRpcServices
AbstractFSWALProvider.getWALDirectoryName(serverName.toString()));
Path splitDir = logDir.suffix(AbstractFSWALProvider.SPLITTING_EXT);
Path checkDir = master.getFileSystem().exists(splitDir) ? splitDir :
logDir;
- return master.getFileSystem().listStatus(checkDir, META_FILTER).length > 0;
+ try {
+ return master.getFileSystem().listStatus(checkDir, META_FILTER).length >
0;
+ } catch (FileNotFoundException fnfe) {
+ // If no files, then we don't contain metas; was failing schedule of
+ // SCP because this was FNFE'ing when no server dirs ('Unknown Server').
+ LOG.warn("No dir for WALs for {}; continuing", serverName.toString());
+ return false;
+ }
}
private boolean shouldSubmitSCP(ServerName serverName) {