HBASE-24052 Add debug to TestMasterShutdown
This commit is contained in:
parent
dcd9a81528
commit
b71ef1e94a
|
@ -2751,6 +2751,7 @@ public class HMaster extends HRegionServer implements MasterServices {
|
|||
@Override
|
||||
public void abort(String reason, Throwable cause) {
|
||||
if (isAborted() || isStopped()) {
|
||||
LOG.debug("Abort called but aborted={}, stopped={}", isAborted(), isStopped());
|
||||
return;
|
||||
}
|
||||
setAbortRequested();
|
||||
|
|
|
@ -30,6 +30,7 @@ import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;
|
|||
import org.apache.hadoop.hbase.master.MasterServices;
|
||||
import org.apache.hadoop.hbase.master.ServerListener;
|
||||
import org.apache.hadoop.hbase.master.ServerManager;
|
||||
import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
|
||||
import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionServerAbortedException;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionServerStoppedException;
|
||||
|
@ -95,10 +96,24 @@ public class RSProcedureDispatcher
|
|||
return false;
|
||||
}
|
||||
// Around startup, if failed, some of the below may be set back to null so NPE is possible.
|
||||
ServerManager sm = master.getServerManager();
|
||||
if (sm == null) {
|
||||
LOG.debug("ServerManager is null; stopping={}", master.isStopping());
|
||||
return false;
|
||||
}
|
||||
sm.registerListener(this);
|
||||
ProcedureExecutor<MasterProcedureEnv> pe = master.getMasterProcedureExecutor();
|
||||
if (pe == null) {
|
||||
LOG.debug("ProcedureExecutor is null; stopping={}", master.isStopping());
|
||||
return false;
|
||||
}
|
||||
procedureEnv = pe.getEnvironment();
|
||||
if (this.procedureEnv == null) {
|
||||
LOG.debug("ProcedureEnv is null; stopping={}", master.isStopping());
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
master.getServerManager().registerListener(this);
|
||||
procedureEnv = master.getMasterProcedureExecutor().getEnvironment();
|
||||
for (ServerName serverName : master.getServerManager().getOnlineServersList()) {
|
||||
for (ServerName serverName : sm.getOnlineServersList()) {
|
||||
addNode(serverName);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
|
@ -168,7 +168,8 @@ public class TestMasterShutdown {
|
|||
final long timeout = TimeUnit.MINUTES.toMillis(10);
|
||||
assertNotEquals("timeout waiting for server manager to become available.",
|
||||
-1, Waiter.waitFor(htu.getConfiguration(), timeout,
|
||||
() -> masterThread.getMaster().getServerManager() != null));
|
||||
() -> masterThread.getMaster().getServerManager() != null &&
|
||||
!masterThread.getMaster().isStopping()));
|
||||
|
||||
// Master has come up far enough that we can terminate it without creating a zombie.
|
||||
final long result = Waiter.waitFor(htu.getConfiguration(), timeout, 500, () -> {
|
||||
|
|
Loading…
Reference in New Issue