From 4031b8746f191a69fbd476ba1c8d9aa57aca5b3e Mon Sep 17 00:00:00 2001 From: sunby Date: Tue, 19 Oct 2021 19:06:37 +0800 Subject: [PATCH] Fix panic when flushing segment (#10182) issue: #10180 Signed-off-by: sunby --- internal/datanode/flow_graph_insert_buffer_node.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/datanode/flow_graph_insert_buffer_node.go b/internal/datanode/flow_graph_insert_buffer_node.go index 95751f23c1..47de6ba2d8 100644 --- a/internal/datanode/flow_graph_insert_buffer_node.go +++ b/internal/datanode/flow_graph_insert_buffer_node.go @@ -246,8 +246,11 @@ func (ibNode *insertBufferNode) Operate(in []Msg) []Msg { segmentsToFlush = append(segmentsToFlush, currentSegID) bd, ok := ibNode.insertBuffer.Load(currentSegID) var err error - buf := bd.(*BufferData) - if !ok || buf.size <= 0 { // Buffer empty + var buf *BufferData + if ok { + buf = bd.(*BufferData) + } + if buf == nil || buf.size <= 0 { // Buffer empty log.Debug(".. Buffer empty ...") err = ibNode.flushManager.flushBufferData(nil, currentSegID, true, endPositions[0]) } else { // Buffer not empty