csi: add VolumeLocks to NodeGetVolumeStats for RBD and CephFS#6291
Conversation
51838af to
caf57d2
Compare
|
The only issue I could think of is this RPC is rather too frequent. We should be fine though as the locks are in-memory? |
| return nil, status.Error(codes.InvalidArgument, err.Error()) | ||
| } | ||
|
|
||
| if acquired := ns.VolumeLocks.TryAcquire(targetPath); !acquired { |
There was a problem hiding this comment.
NodeUnpublishVolume uses targetPath to take lock, if healthchecker hungs NodeUnpublishVolume is blocked. Is that what we want?
There was a problem hiding this comment.
NodeUnpublishVolume uses targetPath to take lock, if healthchecker hungs NodeUnpublishVolume is blocked. Is that what we want?
It'll get killed in 10 mins, it's fine and
If health check hangs, even unmap will hang too.
|
@Mergifyio queue |
Merge Queue Status🛑 Queue command has been cancelled |
|
Run e2e after #6286 is merged. |
|
@Mergifyio rebase |
Acquire a targetPath lock in NodeGetVolumeStats to prevent running multiple NodeGetVolumeStats call on same target path at once. This may happen when ceph cluster has problems. This also matches the semantics of locking in other gRPC calls. Assisted-by: Claude <noreply@anthropic.com> Signed-off-by: Rakshith R <rar@redhat.com>
caf57d2 to
84f6d64
Compare
|
Deprecation notice: This pull request comes from a fork and was rebased using |
✅ Branch has been successfully rebased |
|
@Mergifyio queue |
☑️ Command
|
|
/test ci/centos/k8s-e2e-external-storage/1.34 |
|
/test ci/centos/mini-e2e-helm/k8s-1.34 |
|
/test ci/centos/k8s-e2e-external-storage/1.35 |
|
/test ci/centos/mini-e2e/k8s-1.34 |
|
/test ci/centos/mini-e2e-helm/k8s-1.35 |
|
/test ci/centos/mini-e2e/k8s-1.35 |
|
/test ci/centos/k8s-e2e-external-storage/1.33 |
|
/test ci/centos/mini-e2e-helm/k8s-1.33 |
|
/test ci/centos/upgrade-tests-cephfs |
|
/test ci/centos/mini-e2e/k8s-1.33 |
|
/test ci/centos/upgrade-tests-rbd |
|
Deprecation notice: This pull request comes from a fork and was queued with |
Merge Queue Status
This pull request spent 52 seconds in the queue, including 8 seconds running CI. Required conditions to merge
|
Acquire a targetPath lock in NodeGetVolumeStats to prevent running
multiple NodeGetVolumeStats call on same target path at once. This may
happen when ceph cluster has problems. This also matches the semantics
of locking in other gRPC calls.
Assisted-by: Claude noreply@anthropic.com
Show available bot commands
These commands are normally not required, but in case of issues, leave any of
the following bot commands in an otherwise empty comment in this PR:
/retest ci/centos/<job-name>: retest the<job-name>after unrelatedfailure (please report the failure too!)