Nick Dimiduk created HBASE-28403:
------------------------------------
Summary: Improve debugging for failures in procedure tests
Key: HBASE-28403
URL: https://issues.apache.org/jira/browse/HBASE-28403
Project: HBase
Issue Type: Task
Components: proc-v2, test
Reporter: Nick Dimiduk
We see unit test failures in Jenkins that look like this:
{noformat}
java.lang.IllegalArgumentException: run queue not empty
at
org.apache.hbase.thirdparty.com.google.common.base.Preconditions.checkArgument(Preconditions.java:143)
at
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.load(ProcedureExecutor.java:332)
at
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.init(ProcedureExecutor.java:665)
at
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.restart(ProcedureTestingUtility.java:132)
at
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.restart(ProcedureTestingUtility.java:100)
at
org.apache.hadoop.hbase.master.procedure.MasterProcedureTestingUtility.restartMasterProcedureExecutor(MasterProcedureTestingUtility.java:85)
at
org.apache.hadoop.hbase.master.assignment.TestRollbackSCP.testFailAndRollback(TestRollbackSCP.java:180)
{noformat}
This isn't enough information to debug the situation. The test code in question
looks reasonable enough -- it clears the object for re-use between tests.
However, somewhere between stop/clear/start we miss something. Add some
toString implementations and dump the objects in the preconditions.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)