Why we have another variable for saying if locked? Can't we ask the locked object if locked?
+ locked = true;
this.updatesLock.readLock().lock(); returns a lock. Use that? Set it to null when unlocked? If non-null in finally, unlock it?
Hmm... you are trying to make it same as doMiniBatchPut... ok. Ignore above.
Could this patch not make it so doMiniBatchPut and the update to this method shared code? They seem pretty similar?
This was done in a finally block:
Its ok that its no longer in a finally block? Could we skip out during the sync w/o updating this? I suppose thats ok... then these new edits won't be seen by a running scanner? If exception up in cp calling postdelete, postput, we'll rollback edits from memstore but mvcc has been advanced and won't go backward? I see you update mvcc if w != null... but maybe the update of mvcc should happen after call to cp both here and in the doMiniBatchPut?
Otherwise +1 on commit