diff --git a/secondary/manager/lifecycle.go b/secondary/manager/lifecycle.go index 6396fd734..104206b85 100644 --- a/secondary/manager/lifecycle.go +++ b/secondary/manager/lifecycle.go @@ -510,6 +510,15 @@ func (m *LifecycleMgr) handlePrepareCreateIndex(content []byte) ([]byte, error) } if prepareCreateIndex.Op == client.PREPARE { + if _, err := m.repo.GetLocalValue("RebalanceRunning"); err == nil { + logging.Infof("LifecycleMgr.handlePrepareCreateIndex() : Reject %v because rebalance in progress", prepareCreateIndex.DefnId) + response := &client.PrepareCreateResponse{ + Accept: false, + Msg: client.RespRebalanceRunning, + } + return client.MarshallPrepareCreateResponse(response) + } + if m.prepareLock != nil { if m.prepareLock.RequesterId != prepareCreateIndex.RequesterId || m.prepareLock.DefnId != prepareCreateIndex.DefnId { @@ -527,15 +536,6 @@ func (m *LifecycleMgr) handlePrepareCreateIndex(content []byte) ([]byte, error) } } - if _, err := m.repo.GetLocalValue("RebalanceRunning"); err == nil { - logging.Infof("LifecycleMgr.handlePrepareCreateIndex() : Reject %v because rebalance in progress", prepareCreateIndex.DefnId) - response := &client.PrepareCreateResponse{ - Accept: false, - Msg: client.RespRebalanceRunning, - } - return client.MarshallPrepareCreateResponse(response) - } - m.prepareLock = prepareCreateIndex m.prepareLock.StartTime = time.Now().UnixNano()