diff --git a/weed/mq/kafka/protocol/handler.go b/weed/mq/kafka/protocol/handler.go index 2fe3b5f50..b2388b29d 100644 --- a/weed/mq/kafka/protocol/handler.go +++ b/weed/mq/kafka/protocol/handler.go @@ -305,6 +305,14 @@ func (h *Handler) HandleConn(ctx context.Context, conn net.Conn) error { var finalResult readResult var finalErr error + // Ensure the done channel is always signaled to clean up timeout goroutine + defer func() { + select { + case done <- true: + default: + } + }() + // Start a timeout goroutine that will force completion after 1 second go func() { select {