You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Barry Oglesby (JIRA)" <ji...@apache.org> on 2017/12/05 20:23:00 UTC

[jira] [Resolved] (GEODE-4015) CI failure: ConflationDUnitTest.testTwoRegionsTwoWriters fails with AssertionError

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

Barry Oglesby resolved GEODE-4015.
----------------------------------
       Resolution: Fixed
    Fix Version/s: 1.4.0

> 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
>             Fix For: 1.4.0
>
>
> 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)