mirror of
https://github.com/minio/minio.git
synced 2025-11-07 12:52:58 -05:00
Don't send a canceled context to Unlock (#20409)
AFAICT we send a canceled context to unlock (and thereby releaseAll). This will cause network calls to fail. Instead use background and add 30s timeout.
This commit is contained in:
@@ -643,6 +643,8 @@ func (dm *DRWMutex) Unlock(ctx context.Context) {
|
||||
// Do async unlocking.
|
||||
// This means unlock will no longer block on the network or missing quorum.
|
||||
go func() {
|
||||
ctx, done := context.WithTimeout(ctx, drwMutexUnlockCallTimeout)
|
||||
defer done()
|
||||
for !releaseAll(ctx, dm.clnt, tolerance, owner, &locks, isReadLock, restClnts, dm.Names...) {
|
||||
time.Sleep(time.Duration(dm.rng.Float64() * float64(dm.lockRetryMinInterval)))
|
||||
if time.Since(started) > dm.clnt.Timeouts.UnlockCall {
|
||||
|
||||
Reference in New Issue
Block a user