[
https://issues.apache.org/jira/browse/IGNITE-26656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18034988#comment-18034988
]
Mirza Aliev commented on IGNITE-26656:
--------------------------------------
*Root cause*
{{org.apache.ignite.internal.distributionzones.DataNodesManager#startAsync}}
doesn't check if zone is highly available and calls `partitionResetClosure` for
the default zone.
> ItHighAvailablePartitionsRecoveryWithNodeRestartTest.testHaRecoveryOnZoneTimersRestoreAfterCatalogCompactionAndNodeRestart
> failed
> ----------------------------------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-26656
> URL: https://issues.apache.org/jira/browse/IGNITE-26656
> Project: Ignite
> Issue Type: Bug
> Reporter: Mirza Aliev
> Assignee: Mirza Aliev
> Priority: Major
> Labels: MakeTeamcityGreenAgain, ignite-3
>
> {{ItHighAvailablePartitionsRecoveryWithNodeRestartTest.testHaRecoveryOnZoneTimersRestoreAfterCatalogCompactionAndNodeRestart}}
> failed on a custom branch:
> {noformat}
> org.opentest4j.AssertionFailedError: expected: <{20=[1, 0]}> but was: <{0=[2,
> 3, 5, 8, 9, 10, 12, 15, 16, 17, 19, 20, 22, 24]}>
> at
> app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
> at
> app//org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
> at
> app//org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
> at
> app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:182)
> at
> app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:177)
> at app//org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1145)
> at
> app//org.apache.ignite.internal.table.distributed.disaster.AbstractHighAvailablePartitionsRecoveryTest.assertRecoveryRequestForZoneTable(AbstractHighAvailablePartitionsRecoveryTest.java:155)
> at
> app//org.apache.ignite.internal.table.distributed.disaster.AbstractHighAvailablePartitionsRecoveryTest.assertRecoveryRequestForHaZoneTable(AbstractHighAvailablePartitionsRecoveryTest.java:140)
> at
> app//org.apache.ignite.internal.table.distributed.disaster.ItHighAvailablePartitionsRecoveryWithNodeRestartTest.testHaRecoveryOnZoneTimersRestoreAfterCatalogCompactionAndNodeRestart(ItHighAvailablePartitionsRecoveryWithNodeRestartTest.java:115)
> at [email protected]/java.lang.reflect.Method.invoke(Method.java:568)
> at [email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)
> at [email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)
> {noformat}
> https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_IntegrationTests_ModuleTable/9532153
> *Brief analisys:*
> Somehow, certain partitions from the default zone started being processed
> through the HA flow.
> For those partitions, the reset was triggered automatically. Even though the
> test uses its own HA zone, this behavior still occurred. I was able to
> reproduce a similar situation locally, but with a different failure. As a
> result, those partitions ended up in the ASSIGNMENT_NOT_UPDATED state, yet
> the HA trigger still fired for them.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)