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

ABORT_OP doesn't undo epoch registration of payloads #7

Closed
qtcwt opened this issue Nov 2, 2020 · 2 comments · Fixed by #3
Closed

ABORT_OP doesn't undo epoch registration of payloads #7

qtcwt opened this issue Nov 2, 2020 · 2 comments · Fixed by #3
Assignees
Labels
bug Something isn't working

Comments

@qtcwt
Copy link
Member

qtcwt commented Nov 2, 2020

For operations adding new payloads in the nonblocking structure, BEGIN_OP takes payloads and register corresponding epoch number in the payloads. However, such registration should be undo, i.e., epoch number in the payloads should be reset to NULL_EPOCH, when ABORT_OP occurs.
ABORT_OP means CAS fail and we should release the epoch we occupied.

@qtcwt qtcwt added the bug Something isn't working label Nov 2, 2020
@qtcwt qtcwt self-assigned this Nov 2, 2020
@qtcwt
Copy link
Member Author

qtcwt commented Nov 2, 2020

Or another way, relevant to Issue #5, could be to register epoch in payloads after linearization point succeeds?
No it won't work. We have to tag payload with epoch before it is published.
Adding payload to to-be-persisted list cannot be deferred either, since payload with reset epoch needs to be explicitly persisted after ABORT_OP to overwrite potential writes-back after tagging epoch but before resetting.

@qtcwt qtcwt linked a pull request Nov 15, 2020 that will close this issue
@qtcwt
Copy link
Member Author

qtcwt commented Nov 16, 2020

Addressed in commit c31f37, which is included in PR #3 .

@qtcwt qtcwt closed this as completed Nov 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant