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
|
@Override
|
||||||
public void abort(String reason, Throwable cause) {
|
public void abort(String reason, Throwable cause) {
|
||||||
if (isAborted() || isStopped()) {
|
if (isAborted() || isStopped()) {
|
||||||
|
LOG.debug("Abort called but aborted={}, stopped={}", isAborted(), isStopped());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
setAbortRequested();
|
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.MasterServices;
|
||||||
import org.apache.hadoop.hbase.master.ServerListener;
|
import org.apache.hadoop.hbase.master.ServerListener;
|
||||||
import org.apache.hadoop.hbase.master.ServerManager;
|
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.procedure2.RemoteProcedureDispatcher;
|
||||||
import org.apache.hadoop.hbase.regionserver.RegionServerAbortedException;
|
import org.apache.hadoop.hbase.regionserver.RegionServerAbortedException;
|
||||||
import org.apache.hadoop.hbase.regionserver.RegionServerStoppedException;
|
import org.apache.hadoop.hbase.regionserver.RegionServerStoppedException;
|
||||||
@ -95,10 +96,24 @@ public class RSProcedureDispatcher
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// Around startup, if failed, some of the below may be set back to null so NPE is possible.
|
// 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 {
|
try {
|
||||||
master.getServerManager().registerListener(this);
|
for (ServerName serverName : sm.getOnlineServersList()) {
|
||||||
procedureEnv = master.getMasterProcedureExecutor().getEnvironment();
|
|
||||||
for (ServerName serverName : master.getServerManager().getOnlineServersList()) {
|
|
||||||
addNode(serverName);
|
addNode(serverName);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -168,7 +168,8 @@ public class TestMasterShutdown {
|
|||||||
final long timeout = TimeUnit.MINUTES.toMillis(10);
|
final long timeout = TimeUnit.MINUTES.toMillis(10);
|
||||||
assertNotEquals("timeout waiting for server manager to become available.",
|
assertNotEquals("timeout waiting for server manager to become available.",
|
||||||
-1, Waiter.waitFor(htu.getConfiguration(), timeout,
|
-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.
|
// Master has come up far enough that we can terminate it without creating a zombie.
|
||||||
final long result = Waiter.waitFor(htu.getConfiguration(), timeout, 500, () -> {
|
final long result = Waiter.waitFor(htu.getConfiguration(), timeout, 500, () -> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user