mirror of
https://github.com/minio/minio.git
synced 2024-12-24 22:25:54 -05:00
Clean up metadata cache when deleting bucket (#10802)
Metadata caches were left behind when deleting a bucket.
This commit is contained in:
parent
b686bb9c83
commit
422898d9b3
@ -128,6 +128,18 @@ func (m *metacacheManager) getBucket(ctx context.Context, bucket string) *bucket
|
||||
return b
|
||||
}
|
||||
|
||||
// deleteBucketCache will delete the bucket cache if it exists.
|
||||
func (m *metacacheManager) deleteBucketCache(bucket string) {
|
||||
m.mu.Lock()
|
||||
defer m.mu.Unlock()
|
||||
b, ok := m.buckets[bucket]
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
b.deleteAll()
|
||||
delete(m.buckets, bucket)
|
||||
}
|
||||
|
||||
// deleteAll will delete all caches.
|
||||
func (m *metacacheManager) deleteAll() {
|
||||
m.mu.Lock()
|
||||
|
@ -675,6 +675,9 @@ func (sys *NotificationSys) LoadBucketMetadata(ctx context.Context, bucketName s
|
||||
// DeleteBucketMetadata - calls DeleteBucketMetadata call on all peers
|
||||
func (sys *NotificationSys) DeleteBucketMetadata(ctx context.Context, bucketName string) {
|
||||
globalBucketMetadataSys.Remove(bucketName)
|
||||
if localMetacacheMgr != nil {
|
||||
localMetacacheMgr.deleteBucketCache(bucketName)
|
||||
}
|
||||
|
||||
ng := WithNPeers(len(sys.peerClients))
|
||||
for idx, client := range sys.peerClients {
|
||||
|
@ -538,7 +538,9 @@ func (s *peerRESTServer) DeleteBucketMetadataHandler(w http.ResponseWriter, r *h
|
||||
}
|
||||
|
||||
globalBucketMetadataSys.Remove(bucketName)
|
||||
w.(http.Flusher).Flush()
|
||||
if localMetacacheMgr != nil {
|
||||
localMetacacheMgr.deleteBucketCache(bucketName)
|
||||
}
|
||||
}
|
||||
|
||||
// LoadBucketMetadataHandler - reloads in memory bucket metadata
|
||||
|
Loading…
Reference in New Issue
Block a user