prabhatbhattarai / project-voldemort

Automatically exported from code.google.com/p/project-voldemort
Apache License 2.0
0 stars 0 forks source link

Put with versioned doesn't work if clock entries are not sorted. #347

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Create a versioned value with VectorClock [1:123, 0:123] (Note that entry 0 
comes after entry 1 - it is important to reproduce the problem.)
2. Keep calling put(key, versioned) in StoreClient and bumping up the version.
3. Kill node 1 in the mean time.

What is the expected output? What do you see instead?
After node 1 is killed, get will return the following VectorClock [0:1, 1:129, 
0:128]. What's expected is VectorClock [1:129, 0:129].

Please use labels and text to provide additional information.

This problem is due to the fact that Voldemort expects clock entries to be 
sorted based on the node ID. But put(key, versioned) API doesn't enforce it.

Original issue reported on code.google.com by gao...@gmail.com on 29 Apr 2011 at 11:30