Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Disabling Some Optimistic Concurrency Checks #132

Open
sklose opened this issue Jun 9, 2020 · 0 comments
Open

Allow Disabling Some Optimistic Concurrency Checks #132

sklose opened this issue Jun 9, 2020 · 0 comments
Labels
enhancement New feature or request M-core This issue is related to the core module P3 Priority 3
Milestone

Comments

@sklose
Copy link
Collaborator

sklose commented Jun 9, 2020

It may be useful for gRPC services to opt-into disabling certain optimistic concurrency checks in order to increase throughput / availability. When a gRPC operation handler only reads state, but does not update state, we currently still go through the output sink to validate that the cached state is not stale. This is generally useful for services that scale up to multiple instances, but for specific use cases where there is only ever a single instance this check adds overhead. Proposed change:

  1. the application configuration exposes a new setting that lets the user disable optimistic concurrency checks for for read-only APIs
  2. another option that lets the application by-pass the entire output queue if the state is only read. This will be useful for on-prem installations where internet outages can happen - the service would still be able to service read requests, while write requests queue up in the output queue. However, this setting can only be supported in Concurrent mode, as RPC mode can generate sequence conflicts in a single instance.
@sklose sklose added enhancement New feature or request M-core This issue is related to the core module labels Jun 9, 2020
@sklose sklose added this to the 1.3 milestone Jun 10, 2020
@sklose sklose modified the milestones: 1.3, 1.4 Oct 13, 2020
@plameniv plameniv added the P3 Priority 3 label Jul 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request M-core This issue is related to the core module P3 Priority 3
Development

No branches or pull requests

2 participants