mirror of https://github.com/milvus-io/milvus.git
Defer buf removal from insertBuf after SaveBinlog succeeds (#8930)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>pull/8971/head
parent
9cbf157a4e
commit
10a6f7f146
|
@ -261,7 +261,7 @@ func (ibNode *insertBufferNode) Operate(in []Msg) []Msg {
|
|||
}
|
||||
}
|
||||
|
||||
// Manul Flush
|
||||
// Manual Flush
|
||||
select {
|
||||
case fmsg := <-ibNode.flushChan:
|
||||
currentSegID := fmsg.segmentID
|
||||
|
@ -287,7 +287,7 @@ func (ibNode *insertBufferNode) Operate(in []Msg) []Msg {
|
|||
finishCh := make(chan segmentFlushUnit, 1)
|
||||
|
||||
// Since buffer is not empty, so there must be data for key currentSegID
|
||||
bd, _ := ibNode.insertBuffer.LoadAndDelete(currentSegID)
|
||||
bd, _ := ibNode.insertBuffer.Load(currentSegID)
|
||||
|
||||
ibNode.flushMap.Store(currentSegID, bd.(*BufferData).buffer)
|
||||
clearFn := func() {
|
||||
|
@ -324,9 +324,11 @@ func (ibNode *insertBufferNode) Operate(in []Msg) []Msg {
|
|||
log.Debug("Data service save binlog path failed", zap.Error(err))
|
||||
} else {
|
||||
ibNode.replica.segmentFlushed(fu.segID)
|
||||
ibNode.flushingSegCache.Remove(fu.segID)
|
||||
ibNode.insertBuffer.Delete(fu.segID)
|
||||
}
|
||||
}
|
||||
//always remove from flushing seg cache
|
||||
ibNode.flushingSegCache.Remove(fu.segID)
|
||||
}
|
||||
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue