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

chain repair code not complete #3

Open
vrv opened this issue Nov 6, 2010 · 0 comments
Open

chain repair code not complete #3

vrv opened this issue Nov 6, 2010 · 0 comments

Comments

@vrv
Copy link
Owner

vrv commented Nov 6, 2010

There are some locking issues in FawnKVFrontendHandler.cpp and Manager.cpp (according to TODOs in the code).

Also, chain_repair_mid almost certainly does not work properly. At some point we consolidated the put() and remove() functions to just use a put() + a boolean flag indicating if it's a remove(). The chain_repair code requires state maintenance of pending put requests, but it has not been updated to also include the remove flag as part of the state. Also, it appears the 'flush' boolean isn't being kept track of either (though this may be intentional). None of our standard tests test for this particular condition (it requires a flush/remove to be inserted at a precise time during chain repair).

The problem will likely manifest in a consistency error or in an empty object insertion instead of removal. The wrong flush flag will send an update to the temporary datastore and overwrite a new value with an old one, and the incorrect remove flag will try to insert an empty valued object instead of a 'remove()' request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant