Skip to content
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

[BACKPORT] Fix EP index queries consistency #13892

Merged

Conversation

taburet
Copy link
Contributor

@taburet taburet commented Oct 3, 2018

EE part: https://github.com/hazelcast/hazelcast-enterprise/pull/2473

EPs equipped with predicates are trying to utilize global indexes to
narrow down the key set to operate on. This change fixes the following
problems:

  1. There were no migration stamp validations performed to prevent EPs
    from operating on stale index data (original fix and idea by Matko).

  2. We were not producing WrongTargetException for out-migrated
    partitions, as a result the caller (InvokeOnPartitions) was not retrying
    EPs on such partitions.

  3. Partition scope provided to PartitionIteratingOperation was not
    respected. As a result, operations produced by factories providing
    their own partition sets were running on more partitions than expected.
    By a lucky coincidence all affected factories were producing idempotent
    operations, so that was affecting only the performance.

(cherry-picked from 4014d72)

Fixes: https://github.com/hazelcast/hazelcast-enterprise/issues/2277

EPs equipped with predicates are trying to utilize global indexes to
narrow down the key set to operate on. This change fixes the following
problems:

1. There were no migration stamp validations performed to prevent EPs
from operating on stale index data (original fix and idea by Matko).

2. We were not producing WrongTargetException for out-migrated
partitions, as a result the caller (InvokeOnPartitions) was not retrying
EPs on such partitions.

3. Partition scope provided to PartitionIteratingOperation was not
respected. As a result, operations produced by factories providing
their own partition sets were running on more partitions than expected.
By a lucky coincidence all affected factories were producing idempotent
operations, so that was affecting only the performance.

(cherry-picked from 4014d72)

Fixes: hazelcast/hazelcast-enterprise#2277
@taburet taburet added this to the 3.10.6 milestone Oct 3, 2018
@taburet taburet self-assigned this Oct 3, 2018
@taburet taburet changed the title Fix EP index queries consistency [BACKPORT] Fix EP index queries consistency Oct 3, 2018
@jerrinot jerrinot merged commit 1fd5a09 into hazelcast:maintenance-3.x Oct 4, 2018
@mmedenjak mmedenjak added the Source: Internal PR or issue was opened by an employee label Apr 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants