From 12b985c32ea297dcf62eeb679a4724ca565ba243 Mon Sep 17 00:00:00 2001 From: yukun Date: Sat, 9 Oct 2021 19:39:16 +0800 Subject: [PATCH] Add resource free in err process (#9564) Signed-off-by: fishpenguin --- internal/util/rocksmq/server/rocksmq/rocksmq_impl.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/util/rocksmq/server/rocksmq/rocksmq_impl.go b/internal/util/rocksmq/server/rocksmq/rocksmq_impl.go index d74d699b86..0408dc3d2d 100644 --- a/internal/util/rocksmq/server/rocksmq/rocksmq_impl.go +++ b/internal/util/rocksmq/server/rocksmq/rocksmq_impl.go @@ -614,10 +614,13 @@ func (rmq *rocksmq) Consume(topicName string, groupName string, n int) ([]Consum for ; iter.Valid() && offset < n; iter.Next() { key := iter.Key() val := iter.Value() + strKey := string(key.Data()) + key.Free() offset++ - msgID, err := strconv.ParseInt(string(key.Data())[FixedChannelNameLen+1:], 10, 64) + msgID, err := strconv.ParseInt(strKey[FixedChannelNameLen+1:], 10, 64) if err != nil { - log.Debug("RocksMQ: parse int " + string(key.Data())[FixedChannelNameLen+1:] + " failed") + log.Debug("RocksMQ: parse int " + strKey[FixedChannelNameLen+1:] + " failed") + val.Free() return nil, err } msg := ConsumerMessage{ @@ -632,7 +635,6 @@ func (rmq *rocksmq) Consume(topicName string, groupName string, n int) ([]Consum copy(msg.Payload, origData) } consumerMessage = append(consumerMessage, msg) - key.Free() val.Free() }