Vladislav Pyatkov created IGNITE-21455:
------------------------------------------

             Summary: ItTableScanTest#testCompositeScanRequest is flaky
                 Key: IGNITE-21455
                 URL: https://issues.apache.org/jira/browse/IGNITE-21455
             Project: Ignite
          Issue Type: Bug
            Reporter: Vladislav Pyatkov


h3. Motivation
There is an exception:
{noformat}
org.opentest4j.AssertionFailedError: expected: <0> but was: <1>
  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:150)
  at app//org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:145)
  at app//org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:528)
  at 
app//org.apache.ignite.internal.table.ItTableScanTest.checkCursorsAreClosed(ItTableScanTest.java:150)
  at 
java.base@11.0.17/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
  at 
java.base@11.0.17/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
  at 
java.base@11.0.17/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
  at 
java.base@11.0.17/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
  at 
java.base@11.0.17/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
  at 
java.base@11.0.17/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
  at 
java.base@11.0.17/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
  at 
java.base@11.0.17/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
  at 
java.base@11.0.17/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
  at 
app//org.apache.ignite.internal.table.ItTableScanTest.testCompositeScanRequest(ItTableScanTest.java:760)
{noformat}

h3. Implementation notes
The test became flaky after IGNITE-21290. The reason is that the cursors of the 
scan operations are closed asynchronously, but the test checks that they are 
closed immediately after the Subscription#cancel() method is invoked.
If the test takes several milliseconds, the cursors will be clearly closed.
{code}
waitForCondition(() -> storage.pendingCursors() == 0, 10_000)
{code}



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

Reply via email to