locking: Fix wrong map id (#14184)

Wrong resource is being fetched, since idx is incremented, but mapID is reused.

Regression caused by #13454 - that part didn't optimize anything anyway.
This commit is contained in:
Klaus Post 2022-01-26 08:34:09 -08:00 committed by GitHub
parent a8ba71edef
commit 7db05a80dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -322,11 +322,10 @@ func (l *localLocker) Refresh(ctx context.Context, args dsync.LockArgs) (refresh
}
idx := 0
for {
mapID := formatUUID(args.UID, idx)
lris, ok := l.lockMap[resource]
if !ok {
// Inconsistent. Delete UID.
delete(l.lockUID, mapID)
delete(l.lockUID, formatUUID(args.UID, idx))
return idx > 0, nil
}
for i := range lris {
@ -335,7 +334,7 @@ func (l *localLocker) Refresh(ctx context.Context, args dsync.LockArgs) (refresh
}
}
idx++
resource, ok = l.lockUID[mapID]
resource, ok = l.lockUID[formatUUID(args.UID, idx)]
if !ok {
// No more resources for UID, but we did update at least one.
return true, nil