* fix s3 read failover #8076 - Implement cache invalidation in vidMapClient - Add retry logic in shared PrepareStreamContentWithThrottler - Update S3 Gateway to use FilerClient directly for invalidation support - Remove obsolete simpleMasterClient struct * improve observability for chunk re-lookup failures Added a warning log when volume location re-lookup fails after cache invalidation in PrepareStreamContentWithThrottler. * address code review feedback - Prevent infinite retry loops by comparing old/new URLs before retry - Update fileId2Url map after successful re-lookup for subsequent references - Add comprehensive test coverage for failover logic - Add tests for InvalidateCache method * Fix: prevent data duplication in stream retry and improve VidMap robustness * Cleanup: remove redundant check in InvalidateCache
This commit is contained in:
@@ -257,3 +257,15 @@ func (vc *vidMap) deleteEcLocation(vid uint32, location Location) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (vc *vidMap) deleteVid(vid uint32) {
|
||||
if cachedMap := vc.cache.Load(); cachedMap != nil {
|
||||
cachedMap.deleteVid(vid)
|
||||
}
|
||||
|
||||
vc.Lock()
|
||||
defer vc.Unlock()
|
||||
|
||||
delete(vc.vid2Locations, vid)
|
||||
delete(vc.ecVid2Locations, vid)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user