Right now table locks are all that is supported. When #13 is implemented, we will have more fine grain control. This issue will happen after #13.
The basic idea is that we can used shared read only locks for everything but deletes. For deletes, if we want to implement the possibility of read only locks, we'd need to keep a mapping of old file, old position to new file, new position, so we can port the deletes that happen while consolidation is running. The commit phase always has to be an exclusive lock.
Right now table locks are all that is supported. When #13 is implemented, we will have more fine grain control. This issue will happen after #13.
The basic idea is that we can used shared read only locks for everything but deletes. For deletes, if we want to implement the possibility of read only locks, we'd need to keep a mapping of old file, old position to new file, new position, so we can port the deletes that happen while consolidation is running. The commit phase always has to be an exclusive lock.