Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adaptive bulkhead 2023.1.4 (resilience4j#1873)
* Super early draft of adaptive bulkhead. !!! NOT TESTED !!! * Small proof of concept test. * Code cleanup. Builder for BulkheadAdaptationConfig * Small code clean up. Metrics implementation. Additional TODOs * Additional TODOs * Small renaming * first round of adaptive bulkhead updates * first round of adaptive bulkhead updates * first round of adaptive bulkhead updates * second round of adaptive bulkhead updates * Sonar fixes * adaptive bulkhead refactoring to match last discussion * adaptive bulkhead refactoring to match last discussion * adaptive bulkhead refactoring to match last discussion * adaptive bulkhead refactoring to match last discussion * adaptive bulkhead refactoring to match last discussion * adaptive bulkhead refactoring to match last discussion * Sonar fixes * reduce code duplication * add exception predicate unit testing * first round of updates after introducing sliding window with AIMD limiter * Sonar fixes * Sonar fixes * first round of updates for making adaptive policy independent from bulkhead * first round of applying the review comments * first round of applying the review comments * second round of applying the review comments * Third round of applying the review comments * fix javadoc * sonar fixes * review comments round 4 * code cleanup * review comments round 5 * review comments round 5 * review comments round 5 * #review comments * Sonar fixes * increase test coverage * first round of review comments apply * first round of review comments apply * fix compile issue * tune the adaptive bulkhead test * New Draft * Adaptive Bulkhead Draft * Adaptive Bulkhead 2 Draft (resilience4j#1306) * Remove AIMD leftovers (resilience4j#1397) * Issue#651: Support to exclude MetricsAutoConfiguration * Propagate clock into CircuitBreakerMetrics to allow mocked time-based tests. (resilience4j#844) * Issue resilience4j#596: The Spring Boot fallback method is not invoked when a BulkheadFullException occurs resilience4j#847 The ThreadPoolBulkhead is does not return a CompletionStage when a task could not be submitted, because the Bulkhead is full. The ThreadPoolBulkhead throws a BulkheadFullException instead. Analog to the ThreadPoolExecutor which throws the RejectedExecutionException. The BulkheadFullException is not handled correctly by the BulkheadAspect. The BulkheadAspect should convert the BulkheadFullException into a exceptionally completed future so that the FallbackDecorator works as expected. * Added timelimiter support for resilience4j-ratpack (resilience4j#865) * Sonar critical issues solved: (resilience4j#876) * Remove usage of generic wildcard type. * Define a constant instead of duplicating this literal * Refactor this method to reduce its Cognitive Complexity * Add a nested comment explaining why this method is empty * Class names should not shadow interfaces or superclasses Warnings removed. * Updated Gradle, Migrated from Bintray to Sonatype, migrated to GitHub Actions Co-authored-by: Robert Winkler <rwinkler@telekom.de> * Fixed sonar smells * Small proof of concept test. * first round of adaptive bulkhead updates * second round of adaptive bulkhead updates * Sonar fixes * first round of applying the review comments * Sonar fixes * first round of review comments apply * tune the adaptive bulkhead test * New Draft * Adaptive Bulkhead 2 Draft (resilience4j#1306) * Remove AIMD leftovers (resilience4j#1397) * updated to master --------- Co-authored-by: bstorozhuk <storozhuk.b.m@gmail.com> Co-authored-by: Mahmoud Romeh <mahmoud.romeh@collibra.com> Co-authored-by: Robert Winkler <rwinkler@telekom.de> Co-authored-by: KrnSaurabh <39181662+KrnSaurabh@users.noreply.github.com> Co-authored-by: Robert Winkler <robwin@t-online.de> Co-authored-by: Dan Maas <daniel.maas@target.com>
- Loading branch information