Details
-
Bug
-
Resolution: Fixed
-
Blocker
-
1.6.0 beta4
-
None
-
Operating System: All
Platform: All
Description
There is currently a hole where a vbucket that transitions between a pending state and another state after the pending state check in a given command which leads the command to thinking that it can proceed even though the vbucket changes state.
Of course, the vbucket can continue to change state at any point throughout this request, so this is not a fatal condition.
RCPtr<VBucket> vb = getVBucket(vbucket);
if (!vb || vb->getState() == dead)
else if(vb->getState() == pending) {
// bug is in on this line of code
if (vb->addPendingOp(cookie))
{ return GetValue(ENGINE_EWOULDBLOCK); }}