Skip to content

csi: add VolumeLocks to NodeGetVolumeStats for RBD and CephFS#6291

Merged
mergify[bot] merged 1 commit into
ceph:develfrom
Rakshith-R:node-get-stats-lock
May 21, 2026
Merged

csi: add VolumeLocks to NodeGetVolumeStats for RBD and CephFS#6291
mergify[bot] merged 1 commit into
ceph:develfrom
Rakshith-R:node-get-stats-lock

Conversation

@Rakshith-R

@Rakshith-R Rakshith-R commented May 21, 2026

Copy link
Copy Markdown
Contributor

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 unrelated
    failure (please report the failure too!)

@black-dragon74

Copy link
Copy Markdown
Member

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 {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NodeUnpublishVolume uses targetPath to take lock, if healthchecker hungs NodeUnpublishVolume is blocked. Is that what we want?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@Rakshith-R

Copy link
Copy Markdown
Contributor Author

@Mergifyio queue

@mergify

mergify Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

🛑 Queue command has been cancelled

@iPraveenParihar

Copy link
Copy Markdown
Contributor

Run e2e after #6286 is merged.

@Rakshith-R

Copy link
Copy Markdown
Contributor Author

@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>
@ceph-csi-bot ceph-csi-bot force-pushed the node-get-stats-lock branch from caf57d2 to 84f6d64 Compare May 21, 2026 11:08
@mergify

mergify Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

Deprecation notice: This pull request comes from a fork and was rebased using bot_account impersonation. This capability will be removed on July 1, 2026. After this date, the rebase action will no longer be able to rebase fork pull requests with this configuration. Please switch to the update action/command to ensure compatibility going forward.

@mergify

mergify Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

rebase

✅ Branch has been successfully rebased

@Rakshith-R

Copy link
Copy Markdown
Contributor Author

@Mergifyio queue

@mergify

mergify Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

queue

☑️ Command queue ignored because it is already running from a previous command.

@Rakshith-R Rakshith-R added the ok-to-test Label to trigger E2E tests label May 21, 2026
@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/k8s-e2e-external-storage/1.34

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e-helm/k8s-1.34

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/k8s-e2e-external-storage/1.35

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e/k8s-1.34

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e-helm/k8s-1.35

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e/k8s-1.35

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/k8s-e2e-external-storage/1.33

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e-helm/k8s-1.33

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/upgrade-tests-cephfs

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e/k8s-1.33

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/upgrade-tests-rbd

@ceph-csi-bot ceph-csi-bot added ci/in-progress/e2e This label acts like a guard and prevents Mergify from adding the `ok-to-test` label again. and removed ok-to-test Label to trigger E2E tests labels May 21, 2026
@mergify mergify Bot removed the ci/in-progress/e2e This label acts like a guard and prevents Mergify from adding the `ok-to-test` label again. label May 21, 2026
@mergify

mergify Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

Deprecation notice: This pull request comes from a fork and was queued with update_method=rebase and update_bot_account impersonation. This capability will be removed on July 1, 2026. After this date, the merge queue will no longer be able to rebase fork pull requests with this configuration. To avoid disruption, switch to update_method=merge in your queue rule.

@mergify mergify Bot added the queued label May 21, 2026
@mergify

mergify Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

  • Entered queue2026-05-21 14:16 UTC · Rule: default
  • Checks skipped · PR is already up-to-date
  • Merged2026-05-21 14:17 UTC · at 84f6d641e423aa128240e24e7903f9531d44a5a9 · rebase

This pull request spent 52 seconds in the queue, including 8 seconds running CI.

Required conditions to merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants