8000 #2080 Add new V8 params to fine-tune Polly's circuit-breaker behavior by RaynaldM · Pull Request #2081 · ThreeMammals/Ocelot · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

#2080 Add new V8 params to fine-tune Polly's circuit-breaker behavior #2081

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

Open
wants to merge 20 commits into
base: develop
Choose a base branch
from

Conversation

RaynaldM
Copy link
Collaborator
@RaynaldM RaynaldM commented May 29, 2024

Closes #2080

This PR adds 2 new parameters in QoSOptions to fine-tune circuit-breaker behavior 👉

  • FailureRatio: The failure-success ratio that will cause the circuit to break/open.
  • SamplingDuration: The time period over which the failure-success ratio is calculated (in seconds).

Predecessor

@RaynaldM RaynaldM self-assigned this May 29, 2024
@RaynaldM RaynaldM added feature A new feature small effort Likely less than a day of development effort. QoS Ocelot feature: Quality of Service aka Polly Configuration Ocelot feature: Configuration labels May 29, 2024
@raman-m raman-m changed the title #2080 Adds parameters (in this case those of Polly V8) to fine-tune c… #2080 New V8 parameters to fine-tune Polly's circuit-breaker behavior May 29, 2024
@raman-m raman-m changed the title #2080 New V8 parameters to fine-tune Polly's circuit-breaker behavior #2080 Add new V8 params to fine-tune Polly's circuit-breaker behavior May 29, 2024
@raman-m
Copy link
Member
raman-m commented May 29, 2024

Great! Which version are you planning to release it in?

Please note that the PR depends on #2073, which needs to be merged before this PR. Therefore, this feature branch should be rebased after the merging of #2073, and ideally, after #2079 is merged as well.

It appears that it won't be included in version 23.3, but rather in version 24.0, which is the next release following v23.3.
Is this delivery acceptable to you?

@RaynaldM
Copy link
Collaborator Author

Great! Which version are you planning to release it in?

Please note that the PR depends on #2073, which needs to be merged before this PR. Therefore, this feature branch should be rebased after the merging of #2073, and ideally, after #2079 is merged as well.

It appears that it won't be included in version 23.3, but rather in version 24.0, which is the next release following v23.3. Is this delivery acceptable to you?

Yes, @raman-m, you can add this when you want

@raman-m raman-m added the 2023 Annual 2023 release label Jun 11, 2024
@raman-m raman-m added this to the Annual 2023 milestone Jun 11, 2024
@raman-m
Copy link
Member
raman-m commented Jun 11, 2024

@RaynaldM
Please resolve conflicts!
PR has been added to v24.0 milestone, current release

@raman-m
Copy link
Member
raman-m commented Jun 13, 2024

@RaynaldM Conflicts!

@raman-m raman-m force-pushed the 2080-adds-parameters-in-this-case-those-of-polly-v8-to-fine-tune-circuit-breaker-behavior branch from 1de22fd to f69831a Compare June 14, 2024 17:52
@raman-m raman-m removed the small effort Likely less than a day of development effort. label Jun 14, 2024
@raman-m raman-m requested review from raman-m and ggnaegi and removed request for raman-m June 19, 2024 16:04
@raman-m raman-m added Oct'24 October 2024 release and removed 2023 Annual 2023 release labels Aug 12, 2024
@raman-m raman-m modified the milestones: Annual 2023, September'24 Aug 12, 2024
@raman-m
Copy link
Member
raman-m commented Aug 12, 2024

Let's assign this to the Sep'24 milestone since the Annual 2023 milestone is already quite overloaded, and we need to reduce the scope of work for 2023.

@raman-m raman-m added Spring'25 Spring 2025 release and removed Oct'24 October 2024 release labels Oct 26, 2024
@raman-m raman-m modified the milestones: October'24, Autumn'24 Oct 26, 2024
@coveralls
Copy link
Collaborator
coveralls commented Jul 4, 2025

Coverage Status

coverage: 87.134% (-0.1%) from 87.279%
when pulling 3c386c1 on 2080-adds-parameters-in-this-case-those-of-polly-v8-to-fine-tune-circuit-breaker-behavior
into 7c583bf on develop.

@raman-m raman-m added in progress Someone is working on the issue. Could be someone on the team or off. and removed conflicts Feature branch has merge conflicts labels Jul 4, 2025
@raman-m
Copy link
Member
raman-m commented Jul 4, 2025

The main problem with this PR is that it ignores the global QoS section, a k a FileGlobalConfiguration.QoSOptions
The ultimate goal of the current Spring'25 milestone is global configuration.
In the earlier PR #2073 which I've merged right today, the global QoS TimeoutValue was/is retrieved from FileGlobalConfiguration.QoSOptions. Therefore, it's essential to include global QoS options in the Circuit Breaker strategy.
I propose implementing the global configuration for the Circuit Breaker strategy directly in this PR ☝️

For now, I’ll focus on implementing my suggestions from the previous code review taking into account the current design approach for resilience strategies...

@raman-m raman-m self-assigned this Jul 4, 2025
Copy link
Member
@raman-m raman-m left a comment

Choose a reason for hiding this comment

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

There are two main refactoring phases outlined below, with the ultimate goal of the overall process being to implement global QoS for the Circuit Breaker strategy.

@raman-m
Copy link
Member
raman-m commented Jul 11, 2025

Tasks

  • Create acceptance tests to ensure global QoS configuration is accessible in the PollyQoSResiliencePipelineProvider class → Done in commit 51be1a3 ✔️
  • Refactor the provider class and clean up all code related to global QoS injection → Done in commit 3c386c1 ✔️
  • Verify unit test coverage thoroughly
  • Update documentation

…of merging both route & global options by QoSOptionsCreator into DownstreamRoute
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Configuration Ocelot feature: Configuration feature A new feature in progress Someone is working on the issue. Could be someone on the team or off. QoS Ocelot feature: Quality of Service aka Polly Spring'25 Spring 2025 release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

FailureRatio and SamplingDuration parameters of Polly V8 circuit-breaker
3 participants
0