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

fawnds merge function locking #6

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

fawnds merge function locking #6

vrv opened this issue Nov 6, 2010 · 0 comments

Comments

@vrv
Copy link
Owner

vrv commented Nov 6, 2010

Right now our merge code does not lock the datastore it inserts into; this assumes that the file being merged into is not "live" or actively being inserted into. At some point we changed the fawnkv code to make some of the distributed part of the code more simple and thus broke this assumption.

Two possible solutions:

  1. Acquire a lock on the datastore during this insertion ( fawnds.cc line 891 ) and release it right after.

  2. Change FawnKV code to merge differently: it can create a new datastore and then sequentially merge two contiguous keyranges into that file. Since the ranges are disjoint there are no ordering/consistency issues to worry about.

Alternatively, await Reinhard's changes to FAWNDS to solve most of these issues.

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