migration from 11.8 to 13.2.1
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 9.8k
- Forks
- 1.9k
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 41
Description
Subject: Possible behavioral changes in Feign 13.2.1: implicit retries and health-check requests to root path
We recently migrated from OpenFeign 11.8 to 13.2.1 and observed two unexpected behaviors that we suspect might be related to changes in Feign itself. Could you please confirm whether these could be caused by the library?
- Implicit retries on timeouts / error statuses despite explicit Retryer configuration
Even though we have configured a custom retryer with a maximum of 1 retry attempt (see code below), we are seeing additional retries being performed under the hood when timeouts occur. For example, our setup:
Retryer.Default(300, TimeUnit.SECONDS.toMillis(1), connProps.retryCount)
Retryer.Defult#continueOrPropagate
if (attempt++ >= maxAttempts) { throw e; }
// retryCount = 2 -> 1 retry after the initial attempt, max 2 attempts total
Despite this, we observe more than the expected number of requests hitting the downstream service. Is there any built‑in retry mechanism in Feign 13.x that ignores or supplements the configured Retryer that could explain the extra attempts?
- Health-check requests to root (“/”) when the service returns errors
We are calling an external service via Istio with a specific path, e.g. http://external-service/path/{id}. In certain error scenarios (timeouts, 5xx), we notice additional HTTP requests being sent to the root path of the same service (GET /). Our Feign builder does not contain any explicit health-check configuration. Could Feign 13.2.1 be generating such “liveness” probes on its own, and if so, under what conditions?
Our configuration:
https://github.com/Karim0724/feign-config/blob/main/feign-config
Thank you for your help.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked feign-config configuration and the Retryer.Default#continueOrPropagate entry point, comparing behavior between Feign 11.8 and 13.2.1. Reproduce the timeout and error-status cases, then determine whether Feign itself causes the extra retries or GET / requests; done means the responsible component and conditions are identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100