Skip to content

Commit 1386486

Browse files
committed
kvclient/rangefeed: release resource properly for restartActiveRangeFeeds
Previously, resources were not properly released when restartActiveRangeFeeds returned early due to an error, without calling restartActiveRangeFeed on each toRestart rangefeed. This commit fixes the resource leak. Fixes: #129486 Release note: none
1 parent 4f7fed9 commit 1386486

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

pkg/kv/kvclient/kvcoord/dist_sender_mux_rangefeed.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,8 +529,12 @@ func (m *rangefeedMuxer) receiveEventsFromNode(
529529
func (m *rangefeedMuxer) restartActiveRangeFeeds(
530530
ctx context.Context, reason error, toRestart []*activeMuxRangeFeed,
531531
) error {
532-
for _, active := range toRestart {
532+
for i, active := range toRestart {
533533
if err := m.restartActiveRangeFeed(ctx, active, reason); err != nil {
534+
// Release all remaining rangefeeds that we won't restart.
535+
for _, remaining := range toRestart[i+1:] {
536+
remaining.release()
537+
}
534538
return err
535539
}
536540
}

0 commit comments

Comments
 (0)