Skip to content

Conversation

kpfleming
Copy link
Contributor

The new method ensures that mutating requests being issued by separate Client objects are serialized, which will resolve issues with applications which use multiple Client objects in goroutines.

The default mode serializes all mutating requests, but the mechanism offers a way to group requests by a 'resource ID' to minimize the performance impact.

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?

New Feature Submissions:

  • Does your submission pass tests?

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your core changes, as applicable?
  • Have you successfully run tests with your changes locally?

User Impact

  • What is the user impact of this change?

Are there any considerations that need to be addressed for release?

The new method ensures that mutating requests being issued by separate
Client objects are serialized, which will resolve issues with
applications which use multiple Client objects in goroutines.

The default mode serializes all mutating requests, but the mechanism
offers a way to group requests by a 'resource ID' to minimize the
performance impact.
@kpfleming kpfleming requested a review from cee-dub July 10, 2025 18:15
@kpfleming kpfleming requested a review from a team as a code owner July 10, 2025 18:15
@kpfleming kpfleming requested a review from philippschulte July 10, 2025 18:15
Copy link
Contributor

@cee-dub cee-dub left a comment

Choose a reason for hiding this comment

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

Looks like this will work if clients opt into it.

@kpfleming
Copy link
Contributor Author

This should work even if clients don't opt-in to it, because there's a default 'resource ID' which will capture all mutating operations. Opting in is only necessary to improve performance by allowing mutating operations for separate resources to happen in parallel.

@kpfleming kpfleming requested a review from cee-dub July 11, 2025 01:40
Copy link
Member

@philippschulte philippschulte left a comment

Choose a reason for hiding this comment

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

I think this is a good solution! Thanks for doing this!

@kpfleming kpfleming merged commit 4b7bd86 into main Jul 11, 2025
7 checks passed
@kpfleming kpfleming deleted the cdtool-1056-2 branch July 11, 2025 21:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants