fix: Remove loopclosure issue in ChannelManagerImplV2 (#33989)

See also #33987

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
This commit is contained in:
congqixia 2024-06-19 21:25:59 +08:00 committed by GitHub
parent 2a1356985d
commit 6a15b6e2be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -508,6 +508,7 @@ func (m *ChannelManagerImplV2) advanceToNotifies(ctx context.Context, toNotifies
if channelCount == 0 {
continue
}
nodeID := nodeAssign.NodeID
var (
succeededChannels = make([]RWChannel, 0, channelCount)
@ -527,7 +528,7 @@ func (m *ChannelManagerImplV2) advanceToNotifies(ctx context.Context, toNotifies
tmpWatchInfo.Vchan = m.h.GetDataVChanPositions(innerCh, allPartitionID)
future := getOrCreateIOPool().Submit(func() (any, error) {
err := m.Notify(ctx, nodeAssign.NodeID, tmpWatchInfo)
err := m.Notify(ctx, nodeID, tmpWatchInfo)
return innerCh, err
})
futures = append(futures, future)
@ -570,6 +571,7 @@ func (m *ChannelManagerImplV2) advanceToChecks(ctx context.Context, toChecks []*
continue
}
nodeID := nodeAssign.NodeID
futures := make([]*conc.Future[any], 0, len(nodeAssign.Channels))
chNames := lo.Keys(nodeAssign.Channels)
@ -582,7 +584,7 @@ func (m *ChannelManagerImplV2) advanceToChecks(ctx context.Context, toChecks []*
innerCh := ch
future := getOrCreateIOPool().Submit(func() (any, error) {
successful, got := m.Check(ctx, nodeAssign.NodeID, innerCh.GetWatchInfo())
successful, got := m.Check(ctx, nodeID, innerCh.GetWatchInfo())
if got {
return poolResult{
successful: successful,