enhance: clean shard location cache after collection released (#40228)

issue: #40077
pr: #40088

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
This commit is contained in:
wei liu 2025-02-27 19:42:05 +08:00 committed by GitHub
parent 2f4f5945cb
commit 14f05650e3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 11 additions and 0 deletions

View File

@ -103,6 +103,11 @@ func (job *ReleaseCollectionJob) Execute() error {
},
proxyutil.SetMsgType(commonpb.MsgType_ReleaseCollection))
// try best clean shard leader cache
job.proxyManager.InvalidateShardLeaderCache(job.ctx, &proxypb.InvalidateShardLeaderCacheRequest{
CollectionIDs: []int64{req.GetCollectionID()},
})
waitCollectionReleased(job.dist, job.checkerController, req.GetCollectionID())
metrics.QueryCoordReleaseCount.WithLabelValues(metrics.TotalLabel).Inc()
metrics.QueryCoordReleaseCount.WithLabelValues(metrics.SuccessLabel).Inc()
@ -190,6 +195,10 @@ func (job *ReleasePartitionJob) Execute() error {
CollectionID: req.GetCollectionID(),
},
proxyutil.SetMsgType(commonpb.MsgType_ReleaseCollection))
// try best clean shard leader cache
job.proxyManager.InvalidateShardLeaderCache(job.ctx, &proxypb.InvalidateShardLeaderCacheRequest{
CollectionIDs: []int64{req.GetCollectionID()},
})
waitCollectionReleased(job.dist, job.checkerController, req.GetCollectionID())
} else {

View File

@ -145,6 +145,7 @@ func (suite *JobSuite) SetupSuite() {
suite.proxyManager = proxyutil.NewMockProxyClientManager(suite.T())
suite.proxyManager.EXPECT().InvalidateCollectionMetaCache(mock.Anything, mock.Anything, mock.Anything).Return(nil).Maybe()
suite.proxyManager.EXPECT().InvalidateShardLeaderCache(mock.Anything, mock.Anything).Return(nil).Maybe()
}
func (suite *JobSuite) SetupTest() {

View File

@ -131,6 +131,7 @@ func (suite *ServiceSuite) SetupSuite() {
suite.proxyManager = proxyutil.NewMockProxyClientManager(suite.T())
suite.proxyManager.EXPECT().InvalidateCollectionMetaCache(mock.Anything, mock.Anything, mock.Anything).Return(nil).Maybe()
suite.proxyManager.EXPECT().InvalidateShardLeaderCache(mock.Anything, mock.Anything).Return(nil).Maybe()
}
func (suite *ServiceSuite) SetupTest() {