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
Introduce multi partition predicate [HZ-1347] #21319
Conversation
Can one of the admins verify this patch? |
10 similar comments
Can one of the admins verify this patch? |
Can one of the admins verify this patch? |
Can one of the admins verify this patch? |
Can one of the admins verify this patch? |
Can one of the admins verify this patch? |
Can one of the admins verify this patch? |
Can one of the admins verify this patch? |
Can one of the admins verify this patch? |
Can one of the admins verify this patch? |
Can one of the admins verify this patch? |
hazelcast/src/main/java/com/hazelcast/query/impl/predicates/PartitionPredicateImpl.java
Outdated
Show resolved
Hide resolved
run-lab-run |
run-lts-compilers |
The job Click to expand the log file-------------------------- -------TEST FAILURE------- -------------------------- [INFO] Results: [INFO] [ERROR] Failures: [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [ERROR] BinaryCompatibilityTest.readAndVerifyBinaries:127 [INFO] [ERROR] Tests run: 4353, Failures: 48, Errors: 0, Skipped: 8 [INFO] |
I'll need to back out changes made to the binary compatibility test file, and go from there |
@vbekiaris am I able to run the test suite using the same comments? |
@software-is-art Unfortunately no, due to security reasons (classic cliche :) ). Let me trigger it. |
run-lab-run |
Related issue: #21319 |
@ahmetmircik / @vbekiaris I've updated the serialization binary file for the compatibility tests. We've dropped the |
run-lab-run |
@ahmetmircik @vbekiaris is there anything more required for this PR? |
Looking at the recent discussion and changes, I believe the most important one is this one. We should be using Also, we have this one, #21319 (comment), but as Ahmet said, it can be done later in a separate PR |
I added a support for using |
run-lab-run |
@mafryer please see this: #21319 (comment) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for the PR and addressing reviews patiently.
run-lab-run |
@mdumandag are you ok with latest state of this PR? |
* @param <V> the type of values the predicate operates on. | ||
* @throws NullPointerException if partitionKeys or target predicate are {@code null} | ||
* @throws IllegalArgumentException if partitionkeys is an empty set | ||
*/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor: We can add @since
tag here
|
||
@RunWith(HazelcastParallelClassRunner.class) | ||
@Category({NightlyTest.class}) | ||
public class PartitionsPredicatePerformanceTest extends HazelcastTestSupport { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor: Maybe we can do this as well
@ahmetmircik The latest state of the PR looks good to me. I just need to confirm one thing before approving the PR. Will we include this in 5.2? If not, we need to update the protocol PR with the correct versioning, but if we are going to include it, it can stay as it is, and I can approve the PR |
@mdumandag intention is to put this work in 5.2. |
run-ee-tests |
The job Click to expand the log file-------------------------- ---------SUMMARY---------- -------------------------- [ERROR] Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=2048m; support was removed in 8.0 -------------------------- -------------------------- -------TEST FAILURE------- -------------------------- [INFO] Results: [INFO] [ERROR] Failures: [ERROR] BPlusTreeMemoryTest.testDisposeWhileConcurrentlyAccessing:304 java.lang.AssertionError [ERROR] DeviceOperationExecutorTest.testExecutorShutdown:113->assertThreadCount:190 expected:<5> but was:<41> [INFO] [ERROR] Tests run: 10454, Failures: 2, Errors: 0, Skipped: 86 [INFO] |
…/hazelcast (#426) * Added partitionKeysData of type List_Data to PagingPredicateHolder
Thanks @ahmetmircik for being patient with me as I worked through it all. Looking forward to upgrading to 5.2 when it's out. All the best for the next release 👏 |
This is a redux of PR-18171. I'm continuing on from @ashley-taylor.
I've gone with a slightly different approach of making a backwards compatible change to the existing
PartitionPredicate
interface (instead of making an entirely new interface). This seemed lower risk as existing code with single partition keys will continue to work, while anything new can take advantage of thegetPartitionKeys
method.Breaking changes (list specific methods/types/messages):
Checklist:
Team:
,Type:
,Source:
,Module:
) and Milestone setAdd to Release Notes
orNot Release Notes content
set@Nonnull/@Nullable
annotations@since
tags in Javadoc