[PR #588] [MERGED] Canary Rate Threshold Circuit Breaker Strategy: All circuits open at start #606

Closed
opened 2026-02-26 04:35:45 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mageddo/dns-proxy-server/pull/588
Author: @mageddo
Created: 10/21/2024
Status: Merged
Merged: 11/6/2024
Merged by: @mageddo

Base: masterHead: feat/533-all-circuits-open-at-start


📝 Commits (10+)

📊 Changes

28 files changed (+346 additions, -145 deletions)

View changed files

📝 RELEASE-NOTES.md (+3 -0)
TODO.md (+0 -0)
📝 gradle.properties (+1 -1)
📝 src/main/java/com/mageddo/dns/utils/Messages.java (+8 -8)
📝 src/main/java/com/mageddo/dnsproxyserver/di/module/ModuleEager.java (+5 -2)
📝 src/main/java/com/mageddo/dnsproxyserver/solver/SimpleResolver.java (+7 -0)
📝 src/main/java/com/mageddo/dnsproxyserver/solver/remote/application/failsafe/CircuitBreakerFactory.java (+3 -3)
📝 src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/application/CircuitBreakerDelegate.java (+10 -1)
📝 src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/application/CircuitBreakerDelegateNonResilient.java (+5 -2)
📝 src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/application/CircuitBreakerDelegateStaticThresholdFailsafe.java (+7 -4)
src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/application/DnsServerHealthChecker.java (+40 -0)
src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/application/HealthCheckerStatic.java (+15 -0)
📝 src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/canaryratethreshold/CircuitBreakerDelegateCanaryRateThreshold.java (+29 -2)
📝 src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/canaryratethreshold/CircuitBreakerDelegateSelfObservable.java (+15 -8)
📝 src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/canaryratethreshold/CircuitBreakerFactory.java (+29 -7)
src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/canaryratethreshold/CircuitExecutionsAsHealthChecker.java (+0 -55)
src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/entrypoint/CircuitBreakerHeater.java (+30 -0)
src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/statetransitor/FailSafeStateTransitor.java (+22 -0)
src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/statetransitor/NopStateTransitor.java (+13 -0)
src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/statetransitor/Resilience4jStateTransitor.java (+22 -0)

...and 8 more files

📄 Description

Relates to #533


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mageddo/dns-proxy-server/pull/588 **Author:** [@mageddo](https://github.com/mageddo) **Created:** 10/21/2024 **Status:** ✅ Merged **Merged:** 11/6/2024 **Merged by:** [@mageddo](https://github.com/mageddo) **Base:** `master` ← **Head:** `feat/533-all-circuits-open-at-start` --- ### 📝 Commits (10+) - [`75e3264`](https://github.com/mageddo/dns-proxy-server/commit/75e326445981e104cedd940c86954cc6a8791fa4) implementing circuit breaker factory - [`cf74da9`](https://github.com/mageddo/dns-proxy-server/commit/cf74da93e54e346f656714e5efeb9280b4c90047) fixmes - [`b2d3aac`](https://github.com/mageddo/dns-proxy-server/commit/b2d3aacb6acf58a6e5414eaad36e4f342636c9ba) testing - [`aceff4e`](https://github.com/mageddo/dns-proxy-server/commit/aceff4e651dc51e00412f2d87f97bcce0ebfb1e5) testing - [`3ea718e`](https://github.com/mageddo/dns-proxy-server/commit/3ea718eb5d6a18ee29bcf0babc985f692da1c517) setup strategy mapping - [`27150ea`](https://github.com/mageddo/dns-proxy-server/commit/27150ea15ae2e13dc89b5a4c5a4683cb233f464e) fixing validation - [`d04b9f0`](https://github.com/mageddo/dns-proxy-server/commit/d04b9f07bb26ed477a968a9ff940c549bc631a9d) must call hotload method once - [`fe606a8`](https://github.com/mageddo/dns-proxy-server/commit/fe606a8c6da9a633ebf8959e0068e5b1fbeed03f) adjusting logs - [`53ca25b`](https://github.com/mageddo/dns-proxy-server/commit/53ca25baec33fd576c673df42c3a6b81175fdd59) add server address as circuit breaker name - [`0b7d7fc`](https://github.com/mageddo/dns-proxy-server/commit/0b7d7fc7b83524971e545d7609a0e1adf917670b) fixing compiling errors ### 📊 Changes **28 files changed** (+346 additions, -145 deletions) <details> <summary>View changed files</summary> 📝 `RELEASE-NOTES.md` (+3 -0) ➕ `TODO.md` (+0 -0) 📝 `gradle.properties` (+1 -1) 📝 `src/main/java/com/mageddo/dns/utils/Messages.java` (+8 -8) 📝 `src/main/java/com/mageddo/dnsproxyserver/di/module/ModuleEager.java` (+5 -2) 📝 `src/main/java/com/mageddo/dnsproxyserver/solver/SimpleResolver.java` (+7 -0) 📝 `src/main/java/com/mageddo/dnsproxyserver/solver/remote/application/failsafe/CircuitBreakerFactory.java` (+3 -3) 📝 `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/application/CircuitBreakerDelegate.java` (+10 -1) 📝 `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/application/CircuitBreakerDelegateNonResilient.java` (+5 -2) 📝 `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/application/CircuitBreakerDelegateStaticThresholdFailsafe.java` (+7 -4) ➕ `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/application/DnsServerHealthChecker.java` (+40 -0) ➕ `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/application/HealthCheckerStatic.java` (+15 -0) 📝 `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/canaryratethreshold/CircuitBreakerDelegateCanaryRateThreshold.java` (+29 -2) 📝 `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/canaryratethreshold/CircuitBreakerDelegateSelfObservable.java` (+15 -8) 📝 `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/canaryratethreshold/CircuitBreakerFactory.java` (+29 -7) ➖ `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/canaryratethreshold/CircuitExecutionsAsHealthChecker.java` (+0 -55) ➕ `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/entrypoint/CircuitBreakerHeater.java` (+30 -0) ➕ `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/statetransitor/FailSafeStateTransitor.java` (+22 -0) ➕ `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/statetransitor/NopStateTransitor.java` (+13 -0) ➕ `src/main/java/com/mageddo/dnsproxyserver/solver/remote/circuitbreaker/statetransitor/Resilience4jStateTransitor.java` (+22 -0) _...and 8 more files_ </details> ### 📄 Description Relates to #533 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 04:35:45 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/dns-proxy-server-mageddo#606
No description provided.