[ 
https://issues.apache.org/jira/browse/IGNITE-23254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mikhail Efremov reassigned IGNITE-23254:
----------------------------------------

    Assignee:     (was: Mikhail Efremov)

> ItReplicaLifecycleTest throws AssertionErrors on zone replicas stopping
> -----------------------------------------------------------------------
>
>                 Key: IGNITE-23254
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23254
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Mikhail Efremov
>            Priority: Major
>              Labels: ignite-3
>
> *Description*
> {{ItReplicaLifecycleTest}} is known as flaky test class (e.g. IGNITE-23131), 
> this ticket is about the case when we have issues on replicas stopping issues:
> https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_IntegrationTests_RunAllOther/8481261?expandBuildDeploymentsSection=false&hideTestsFromDependencies=false&hideProblemsFromDependencies=false&expandBuildTestsSection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true
> We can see that the flaky test for reproduction is 
> {{testTableReplicaListenersCreationAfterRebalance}}, on a local machine it 
> fails with rate ~25% that is high. The reason is the same:
> {code:java}
> There are replicas alive [replicas=[4_part_0]]
> java.lang.AssertionError: There are replicas alive [replicas=[4_part_0]]
>       at 
> org.apache.ignite.internal.replicator.ReplicaManager.lambda$stopAsync$34(ReplicaManager.java:1053)
>       at 
> org.apache.ignite.internal.util.IgniteUtils.lambda$closeAllManually$1(IgniteUtils.java:614)
>       at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
>       at 
> java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
>       at 
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
>       at 
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
>       at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
>       at 
> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
>       at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
>       at 
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>       at 
> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
>       at 
> org.apache.ignite.internal.util.IgniteUtils.closeAllManually(IgniteUtils.java:612)
>       at 
> org.apache.ignite.internal.util.IgniteUtils.closeAllManually(IgniteUtils.java:635)
>       at 
> org.apache.ignite.internal.replicator.ReplicaManager.stopAsync(ReplicaManager.java:1059)
>       at 
> org.apache.ignite.internal.util.IgniteUtils.lambda$stopAsync$6(IgniteUtils.java:1216)
>       at 
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
>       at 
> java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
>       at 
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
>       at 
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
>       at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
>       at 
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:550)
>       at 
> java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
>       at 
> java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:517)
>       at 
> org.apache.ignite.internal.util.IgniteUtils.stopAsync(IgniteUtils.java:1222)
>       at 
> org.apache.ignite.internal.util.IgniteUtils.stopAsync(IgniteUtils.java:1264)
>       at 
> org.apache.ignite.internal.partition.replicator.ItReplicaLifecycleTest$Node.stop(ItReplicaLifecycleTest.java:1371)
>       at java.base/java.util.HashMap$Values.forEach(HashMap.java:977)
>       at 
> org.apache.ignite.internal.partition.replicator.ItReplicaLifecycleTest.after(ItReplicaLifecycleTest.java:312)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>       at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
>       at 
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
>       at 
> java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
>       at 
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
>       at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
>       at 
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
>       at 
> java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
>       at 
> java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104)
>       at 
> java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:699)
>       at 
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
>       at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
>       at 
> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
>       at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
>       at 
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>       at 
> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
>       at 
> java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274)
>       at 
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
>       at 
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
>       at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
>       at 
> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
>       at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
>       at 
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>       at 
> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
> {code}
> *Motivation*
> Tests shouldn't throw {{AssertionError}} s.
> *Definition of Done*
> {{testTableReplicaListenersCreationAfterRebalance}} should pass in repeated 
> manner.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to