Fix querycoord segment checker nil reference (#25290)

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
pull/25282/head
congqixia 2023-07-03 18:48:24 +08:00 committed by GitHub
parent cba0feb119
commit b68fa2049b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 3 deletions

View File

@ -129,13 +129,18 @@ func (c *SegmentChecker) getStreamingSegmentDiff(targetMgr *meta.TargetManager,
zap.Int64("replicaID", replica.ID))
leaders := distMgr.ChannelDistManager.GetShardLeadersByReplica(replica)
for leader, node := range leaders {
view := distMgr.LeaderViewManager.GetLeaderShardView(node, leader)
// distMgr.LeaderViewManager.
for channelName, node := range leaders {
view := distMgr.LeaderViewManager.GetLeaderShardView(node, channelName)
if view == nil {
log.Info("leaderView is not ready, skip", zap.String("channelName", channelName), zap.Int64("node", node))
continue
}
targetVersion := targetMgr.GetCollectionTargetVersion(collectionID, meta.CurrentTarget)
if view.TargetVersion != targetVersion {
// before shard delegator update it's readable version, skip release segment
log.RatedInfo(20, "before shard delegator update it's readable version, skip release segment",
zap.String("channelName", leader),
zap.String("channelName", channelName),
zap.Int64("nodeID", node),
zap.Int64("leaderVersion", view.TargetVersion),
zap.Int64("currentVersion", targetVersion),