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

Executor service message task should not block the partition thread #15526

Merged

Conversation

@ihsandemir
Copy link
Contributor

commented Sep 6, 2019

Added two new tests which verifies that executor service cancel operation does not block the partition thread and migration causes executor service cancel operation being retried.

Solution:

Change the AbstractExecutorServiceCancelMessageTask to be of type AbstractPartitionMessageTask and it is not BlockingMessageTask. It works similar to how map.get message task works. It will not block the partition thread.

fixes #15497

…n does not block the partition thread.

Solution:
1. The executor service cancel task uses the client invoked member to cancel the ongoing task.

2. The executor cancel cancel task now works in the blocking executor (for both partition and address based requests).

fixes #15497
@ihsandemir

This comment has been minimized.

Copy link
Contributor Author

commented Sep 9, 2019

run-lab-run

@pveentjer pveentjer self-requested a review Sep 9, 2019
ihsandemir added 2 commits Sep 10, 2019
1. Change the `AbstractExecutorServiceCancelMessageTask` to be of type `AbstractPartitionMessageTask` and it is not `BlockingMessageTask`. It works similar to how map.get message task works. It will not block the partition thread.

2. Added a new test (`testCancel_submitToKeyOwner_Should_Not_Block_Migration`) which tests if partition migration is blocked if the executor service cancel is called.
@mdogan
mdogan approved these changes Sep 10, 2019
@ihsandemir ihsandemir merged commit d607aff into hazelcast:maintenance-3.x Sep 11, 2019
1 check passed
1 check passed
default Test PASSed.
Details
@ihsandemir ihsandemir deleted the ihsandemir:maint/executorServiceCancelFix branch Sep 11, 2019
ihsandemir added a commit to ihsandemir/hazelcast that referenced this pull request Sep 17, 2019
1. Change the `AbstractExecutorServiceCancelMessageTask` to be of type `AbstractPartitionMessageTask` and it is not `BlockingMessageTask`. It works similar to how map.get message task works. It will not block the partition thread.

2. Added new test (`testCancel_submitToKeyOwner_Should_Not_Block_Migration`) which tests if partition migration is blocked if the executor service cancel is called.
ihsandemir added a commit that referenced this pull request Sep 18, 2019
1. Change the `AbstractExecutorServiceCancelMessageTask` to be of type `AbstractPartitionMessageTask` and it is not `BlockingMessageTask`. It works similar to how map.get message task works. It will not block the partition thread.

2. Added new test (`testCancel_submitToKeyOwner_Should_Not_Block_Migration`) which tests if partition migration is blocked if the executor service cancel is called.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.