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

Fixing component migration #3694

Merged
merged 3 commits into from Feb 12, 2019

Conversation

Projects
None yet
2 participants
@hkaiser
Copy link
Member

commented Feb 12, 2019

Fixes the migration test that is failing intermittently.

This PR fixes several issues with component migration:

  • one of the continuations involved was attached to the outer future of a future<future<id_type>> instead of the inner one
  • in case of exceptions the interrupted migration operation is now cleaned up properly
  • the migration operation is now (silently) retried if a global race is detected (see commit message below for an explanation)

hkaiser added some commits Feb 11, 2019

Fixing the hanging of the migration test
- the test still occasionally reports a failed migration operation, but it does not hang anymore
Retry migration operation if a global race is detected.
The (global) race happens in situations where migration operations are triggered
concurrently with actions to be executed on the same object. In this case it can
happen, that actions waiting in AGAS for a ongoing migration operation are released
once this migration has finished. Now, if a new migration operation is started
before the released actions are able to pin the object, then the actions will
pin the object regardless of the new migration operation leading to an exception
being thrown (pin_count > 1).

This situation can't be resolved other then to handle the exception and to retry
the migration. This change set implements this.
@sithhell
Copy link
Member

left a comment

LGTM! thanks!

@sithhell sithhell merged commit a47abab into master Feb 12, 2019

2 checks passed

build-and-test Workflow: build-and-test
Details
ci/gitlab/fixing_migration Pipeline passed on GitLab
Details

@sithhell sithhell deleted the fixing_migration branch Feb 12, 2019

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.