[
https://issues.apache.org/jira/browse/HBASE-30094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18113663#comment-18113663
]
Hudson commented on HBASE-30094:
--------------------------------
Results for branch branch-2.6
[build #513 on
builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.6/513/]:
(x) *{color:red}-1 overall{color}*
----
details (if available):
(/) {color:green}+1 general checks{color}
-- For more information [see general
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.6/513/General_20Nightly_20Build_20Report/]
(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2)
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.6/513/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]
(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3)
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.6/513/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.6/513/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 jdk17 hadoop3 checks{color}
-- For more information [see jdk17
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.6/513/JDK17_20Nightly_20Build_20Report_20_28Hadoop3_29/]
> Flaky tests rerun may enter incorrect state
> -------------------------------------------
>
> Key: HBASE-30094
> URL: https://issues.apache.org/jira/browse/HBASE-30094
> Project: HBase
> Issue Type: Sub-task
> Reporter: Duo Zhang
> Assignee: mazhengxuan
> Priority: Major
> Labels: pull-request-available
> Fix For: 4.0.0-alpha-1, 2.7.0, 3.1.0, 3.0.1, 2.6.8, 2.5.17
>
>
> Sonnet 4.5(4.6?) summary for TestRollbackSCP
> Root cause
> Surefire reruns failed tests in the same JVM without running @BeforeClass
> again. The test used a static INJECTED flag with compareAndSet(false, t rue)
> so fault injection (and setKillAndToggleBeforeStoreUpdateInRollback) only ran
> once per JVM.
> After the first failure (e.g. IllegalArgumentException: scheduler queue not
> empty at restartMasterProcedureExecutor), INJECTED stayed true. On reruns,
> compareAndSet did nothing, so the executor was never killed in rollback and
> procExec.isRunning() stayed true, which made waitFor(30000, () ->
> !procExec.isRunning()) always time out.
> So the “three different failures” were really: first attempt hit the real
> error at line 180; attempts 2–3 were misleading timeouts at line 177 caused
> by broken rerun state, not the original bug.
> Fix
> In @Before (which does run before each attempt, including reruns), reset
> test-only state:
> INJECTED.set(false) so injection can arm again on each run.
> ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdateInRollback(procExec,
> false) so procedure-executor kill flags from the previous attempt are cleared.
> That makes each Surefire attempt behave like a fresh test with respect to
> injection, so reruns can pass when the underlying issue is fixed or flaky.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)