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)