From a7e536a92a8488fffc6da0e6c27e101e72d34104 Mon Sep 17 00:00:00 2001 From: Magomed Abdurakhmanov Date: Mon, 13 Nov 2023 16:26:21 -0800 Subject: [PATCH] ConsumerGroup.Close can infinitely lock Signed-off-by: Magomed Abdurakhmanov --- consumer_group.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/consumer_group.go b/consumer_group.go index 91b6e584e..552da9afb 100644 --- a/consumer_group.go +++ b/consumer_group.go @@ -213,8 +213,11 @@ func (c *consumerGroup) Consume(ctx context.Context, topics []string, handler Co return err } - // Wait for session exit signal - <-sess.ctx.Done() + // Wait for session exit signal or Close() call + select { + case <-c.closed: + case <-sess.ctx.Done(): + } // Gracefully release session claims return sess.release(true)