HBASE-23247 [hbck2] Schedule SCPs for 'Unknown Servers' (#791)
Signed-off-by: Sean Busbey <busbey@apache.org> Signed-off-by: Duo Zhang <zhangduo@apache.org>
This commit is contained in:
parent
90007b7e80
commit
bbfc73789f
|
@ -136,6 +136,9 @@ public class ProcedureStoreTracker {
|
||||||
node = lookupClosestNode(node, procId);
|
node = lookupClosestNode(node, procId);
|
||||||
assert node != null : "expected node to update procId=" + procId;
|
assert node != null : "expected node to update procId=" + procId;
|
||||||
assert node.contains(procId) : "expected procId=" + procId + " in the node";
|
assert node.contains(procId) : "expected procId=" + procId + " in the node";
|
||||||
|
if (node == null) {
|
||||||
|
throw new NullPointerException("pid=" + procId);
|
||||||
|
}
|
||||||
node.insertOrUpdate(procId);
|
node.insertOrUpdate(procId);
|
||||||
trackProcIds(procId);
|
trackProcIds(procId);
|
||||||
return node;
|
return node;
|
||||||
|
|
|
@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.master;
|
||||||
|
|
||||||
import static org.apache.hadoop.hbase.master.MasterWalManager.META_FILTER;
|
import static org.apache.hadoop.hbase.master.MasterWalManager.META_FILTER;
|
||||||
|
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.BindException;
|
import java.net.BindException;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
@ -2814,7 +2815,14 @@ public class MasterRpcServices extends RSRpcServices
|
||||||
AbstractFSWALProvider.getWALDirectoryName(serverName.toString()));
|
AbstractFSWALProvider.getWALDirectoryName(serverName.toString()));
|
||||||
Path splitDir = logDir.suffix(AbstractFSWALProvider.SPLITTING_EXT);
|
Path splitDir = logDir.suffix(AbstractFSWALProvider.SPLITTING_EXT);
|
||||||
Path checkDir = master.getFileSystem().exists(splitDir) ? splitDir : logDir;
|
Path checkDir = master.getFileSystem().exists(splitDir) ? splitDir : logDir;
|
||||||
|
try {
|
||||||
return master.getFileSystem().listStatus(checkDir, META_FILTER).length > 0;
|
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) {
|
private boolean shouldSubmitSCP(ServerName serverName) {
|
||||||
|
|
Loading…
Reference in New Issue