Shilun Fan created RATIS-2514:
---------------------------------

             Summary: Fix flaky TestReadOnlyRequestWithGrpc.testReadAfterWrite
                 Key: RATIS-2514
                 URL: https://issues.apache.org/jira/browse/RATIS-2514
             Project: Ratis
          Issue Type: Sub-task
          Components: gRPC
            Reporter: Shilun Fan
            Assignee: Shilun Fan


TestReadOnlyRequestWithGrpc.testReadAfterWrite may fail intermittently with:
{code:java}
AssertionFailedError: expected: <true> but was: <false> {code}
The failing assertion compares the result of an async read-after-write request 
with a concurrent linearizable read:
{code:java}
Assertions.assertTrue(retrieve(readAfterWrite.get()) >= 
retrieve(linearizable.get())); {code}
This assumption is unreliable. The test sends multiple async writes without 
waiting for them to complete, then issues a linearizable read and a 
read-after-write request concurrently. These two reads may observe different 
linearization points and different subsets of concurrent writes, so 
read-after-write is not guaranteed to return a value greater than or equal to 
the concurrent linearizable read.



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

Reply via email to