New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[query] ClientQueryBounceTest.testQuery #10107
Comments
This test executes queries & asserts their results as members of the cluster bounce for a duration of 3 minutes. It should should shutdown before the hard timeout of 5 minutes, however the jitter rule measured accumulated hiccups of 153 seconds during which the test could not make any progress and teardown -> the timeout does not indicate failure. |
|
|
|
|
Fixed by #10181 |
https://hazelcast-l337.ci.cloudbees.com/view/Hazelcast/job/Hazelcast-3.x-nightly/1318/
|
Possible fix : #10405. Reopen if issue persists after PR is merged. |
|
|
maintenance
|
This also fails in the master: java.lang.AssertionError: Obtained 997 results for query 'age >= 50290 AND age < 51290' expected:<1000> but was:<997>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at com.hazelcast.map.QueryBounceTest$QueryRunnable.run(QueryBounceTest.java:141)
at com.hazelcast.test.bounce.BounceMemberRule$TestTaskRunable.run(BounceMemberRule.java:606)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745) |
maintenance
|
maintenance
|
Since the migration finalizations can be called concurrently, the owned partitions might be reloaded concurrently. This means that the set of owned partitions first might be set to a newer version and then to an older version, leading to an incorrect set of owned partitions. This affects the query engine when it performs queries off the partition thread as every member reports its own set of owned partitions which is in this case incorrect. If the results from the actual partition owner are received by the query engine later than from the "lying" partition owner, they are discarded. This can cause the query engine to return incorrect results until the partitions are reloaded again on an another migration. The fix reloads the partitions in a CAS loop ensuring that the newest partition state will always be applied. Also, added some type parameters and improved javadoc. Fixes : hazelcast#10107 hazelcast#9870 hazelcast#10776
Since the migration finalizations can be called concurrently, the owned partitions might be reloaded concurrently. This means that the set of owned partitions first might be set to a newer version and then to an older version, leading to an incorrect set of owned partitions. This affects the query engine when it performs queries off the partition thread as every member reports its own set of owned partitions which is in this case incorrect. If the results from the actual partition owner are received by the query engine later than from the "lying" partition owner, they are discarded. This can cause the query engine to return incorrect results until the partitions are reloaded again on an another migration. The fix reloads the partitions in a CAS loop ensuring that the newest partition state will always be applied. Also, added some type parameters and improved javadoc. Fixes : hazelcast#10107 hazelcast#9870 hazelcast#10776
master
https://hazelcast-l337.ci.cloudbees.com/view/Hazelcast/job/Hazelcast-3.x-nightly/com.hazelcast$hazelcast-client/1282/testReport/junit/com.hazelcast.client.map/ClientQueryBounceTest/testQuery/
The text was updated successfully, but these errors were encountered: