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)