Barry Oglesby created GEODE-4015:
------------------------------------

             Summary: CI failure: ConflationDUnitTest.testTwoRegionsTwoWriters 
fails with AssertionError
                 Key: GEODE-4015
                 URL: https://issues.apache.org/jira/browse/GEODE-4015
             Project: Geode
          Issue Type: Bug
          Components: client queues
            Reporter: Barry Oglesby


Both testTwoRegionsTwoWriters and testTwoRegionsOneWriter failed with the same 
AssertionError:
{noformat}
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest > 
testTwoRegionsTwoWriters FAILED
    java.lang.AssertionError: Test failed due to exception
        at org.apache.geode.test.dunit.Assert.fail(Assert.java:66)
        at 
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest.testTwoRegionsTwoWriters(ConflationDUnitTest.java:155)

        Caused by:
        org.apache.geode.test.dunit.RMIException: While invoking 
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest$$Lambda$193/1316585270.run
 in VM 2 running on Host 6b07584084c4 with 4 VMs
            at org.apache.geode.test.dunit.VM.invoke(VM.java:393)
            at org.apache.geode.test.dunit.VM.invoke(VM.java:363)
            at org.apache.geode.test.dunit.VM.invoke(VM.java:308)
            at 
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest.testTwoRegionsTwoWriters(ConflationDUnitTest.java:153)

            Caused by:
            java.lang.AssertionError: Event never occurred after 60000 ms: null
                at org.junit.Assert.fail(Assert.java:88)
                at 
org.apache.geode.test.dunit.Wait.waitForCriterion(Wait.java:190)
                at 
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest.assertCounterSizes(ConflationDUnitTest.java:506)
                at 
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest.lambda$testTwoRegionsTwoWriters$bb17a952$10(ConflationDUnitTest.java:153)
{noformat}
{noformat}
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest > 
testTwoRegionsOneWriter FAILED
    org.apache.geode.test.dunit.RMIException: While invoking 
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest$$Lambda$221/1553950035.run
 in VM 2 running on Host 6b07584084c4 with 4 VMs
        at org.apache.geode.test.dunit.VM.invoke(VM.java:393)
        at org.apache.geode.test.dunit.VM.invoke(VM.java:363)
        at org.apache.geode.test.dunit.VM.invoke(VM.java:308)
        at 
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest.testTwoRegionsOneWriter(ConflationDUnitTest.java:183)

        Caused by:
        java.lang.AssertionError: Event never occurred after 60000 ms: null
            at org.junit.Assert.fail(Assert.java:88)
            at org.apache.geode.test.dunit.Wait.waitForCriterion(Wait.java:190)
            at 
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest.assertCounterSizes(ConflationDUnitTest.java:506)
            at 
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTest.lambda$testTwoRegionsOneWriter$bb17a952$10(ConflationDUnitTest.java:183)
{noformat}
ConflationDUnitTest.assertCounterSizes(ConflationDUnitTest.java:506) is waiting 
for {{counterUpdate == 2}}.

I think this is a timing issue. The first line of the test sets 
CacheClientProxy.isSlowStartForTesting to true. This causes the 
MessageDispatcher to not send messages immediately. Instead, it waits for 5 
seconds before sending. This allows the queue to conflate the events. If I 
remove the slow start setting, the test fails every time because conflation 
doesn't happen.

Unfortunately, the description returns null (the null in the AssertionError 
messages above), so we don't know anything about why the assertion is failing. 
If it were changed to return the actual value of counterUpdate, that would be 
helpful.

With that change and the boolean not set in the test, I see:
{noformat}
Caused by: java.lang.AssertionError: Event never occurred after 60000 ms: 
Expected counterUpdate to be 2. Instead it was 6
{noformat}
My guess is that between the time the MessageDispatcher is told to wait and the 
test actually runs, at least 5 seconds elapses, and the conflation doesn't 
occur. I'll make these changes to the test so that next time it happens, we can 
see if thats the case.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to