You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
Acquire a lock on the datastore during this insertion ( fawnds.cc line 891 ) and release it right after.
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.
The text was updated successfully, but these errors were encountered:
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:
Acquire a lock on the datastore during this insertion ( fawnds.cc line 891 ) and release it right after.
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.
The text was updated successfully, but these errors were encountered: