You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mikhail Efremov (Jira)" <ji...@apache.org> on 2025/06/12 10:26:00 UTC
[jira] [Commented] (IGNITE-25654) ZonePartitionReplicaListenerTest#writeIntentSwitchForCompactedCatalogTimestampWorks is flaky
[ https://issues.apache.org/jira/browse/IGNITE-25654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17965518#comment-17965518 ]
Mikhail Efremov commented on IGNITE-25654:
------------------------------------------
The reason is equal timestamps for {{clocks#now}} that is the commit timestamp in the test beginning and operation timestamp inside {{SchemaCompatibilityValidator#failIfRequestSchemaDiffersFromTxTs}} that is {{clock#current}}. This leads to throw the mocked exception case.
As solution we have to force push clock forward because we will invoke listener directly bypassing ReplicaManager or MessageService, so clock won't be updated if the test computes too fast for physical clock ticking and then we may have equal clock#current and the given above commit timestamp.
> ZonePartitionReplicaListenerTest#writeIntentSwitchForCompactedCatalogTimestampWorks is flaky
> --------------------------------------------------------------------------------------------
>
> Key: IGNITE-25654
> URL: https://issues.apache.org/jira/browse/IGNITE-25654
> Project: Ignite
> Issue Type: Bug
> Reporter: Mikhail Efremov
> Assignee: Mikhail Efremov
> Priority: Major
> Labels: ignite-3
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> *Description*
> We have a failures of the test: https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunUnitTests/9210054
> Stacktrace:
> {code:java}
> java.lang.AssertionError: java.util.concurrent.ExecutionException: org.apache.ignite.internal.catalog.CatalogNotFoundException: IGN-CATALOG-1 Oops TraceId:03876c30
> at org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:78)
> at org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:35)
> at org.hamcrest.TypeSafeMatcher.matches(TypeSafeMatcher.java:83)
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:10)
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
> at org.apache.ignite.internal.table.distributed.replication.ZonePartitionReplicaListenerTest.writeIntentSwitchForCompactedCatalogTimestampWorks(ZonePartitionReplicaListenerTest.java:1481)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at java.base/java.util.Optional.ifPresent(Optional.java:178)
> 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:197)
> at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
> 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:197)
> at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
> at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
> at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
> 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:596)
> at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
> at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
> at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
> at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
> 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:596)
> at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
> at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
> at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
> at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
> at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
> at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
> at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
> 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:596)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
> Caused by: java.util.concurrent.ExecutionException: org.apache.ignite.internal.catalog.CatalogNotFoundException: IGN-CATALOG-1 Oops TraceId:03876c30
> at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
> at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096)
> at org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:74)
> ... 40 more
> Caused by: org.apache.ignite.internal.catalog.CatalogNotFoundException: IGN-CATALOG-1 Oops TraceId:03876c30
> at app//org.apache.ignite.internal.partition.replicator.schemacompat.SchemaCompatibilityValidator.failIfTableDoesNotExistAt(SchemaCompatibilityValidator.java:269)
> at app//org.apache.ignite.internal.partition.replicator.TableAwareReplicaRequestPreProcessor.lambda$preProcessTableAwareRequest$0(TableAwareReplicaRequestPreProcessor.java:104)
> at java.base@17.0.6/java.util.concurrent.CompletableFuture.uniRunNow(CompletableFuture.java:819)
> at java.base@17.0.6/java.util.concurrent.CompletableFuture.uniRunStage(CompletableFuture.java:803)
> at java.base@17.0.6/java.util.concurrent.CompletableFuture.thenRun(CompletableFuture.java:2195)
> at app//org.apache.ignite.internal.partition.replicator.TableAwareReplicaRequestPreProcessor.preProcessTableAwareRequest(TableAwareReplicaRequestPreProcessor.java:119)
> at app//org.apache.ignite.internal.partition.replicator.handlers.WriteIntentSwitchRequestHandler.invokeTableWriteIntentSwitchReplicaRequest(WriteIntentSwitchRequestHandler.java:169)
> at app//org.apache.ignite.internal.partition.replicator.handlers.WriteIntentSwitchRequestHandler.lambda$handle$0(WriteIntentSwitchRequestHandler.java:123)
> at java.base@17.0.6/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
> at java.base@17.0.6/java.util.Iterator.forEachRemaining(Iterator.java:133)
> at java.base@17.0.6/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
> at java.base@17.0.6/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
> at java.base@17.0.6/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
> at java.base@17.0.6/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
> at java.base@17.0.6/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> at java.base@17.0.6/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
> at app//org.apache.ignite.internal.partition.replicator.handlers.WriteIntentSwitchRequestHandler.handle(WriteIntentSwitchRequestHandler.java:124)
> at app//org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.processRequest(ZonePartitionReplicaListener.java:230)
> at app//org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.lambda$invoke$0(ZonePartitionReplicaListener.java:206)
> at java.base@17.0.6/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1187)
> at java.base@17.0.6/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2309)
> at app//org.apache.ignite.internal.partition.replicator.ZonePartitionReplicaListener.invoke(ZonePartitionReplicaListener.java:206)
> at app//org.apache.ignite.internal.table.distributed.replication.ZonePartitionReplicaListenerTest.writeIntentSwitchForCompactedCatalogTimestampWorks(ZonePartitionReplicaListenerTest.java:1470)
> ... 35 more
> {code}
> *Motivation*
> Tests should be green.
> *Definition of done*
> Unit test should be fixed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)