FAWN-KV icon indicating copy to clipboard operation
FAWN-KV copied to clipboard

chain repair code not complete

Open vrv opened this issue 15 years ago • 0 comments

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.

vrv avatar Nov 06 '10 19:11 vrv