spring-cloud / spring-cloud/spring-cloud-netflix
Eureka initial status should be Starting
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 5k
- Forks
- 2.5k
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 10
Description
Suggested enhancement:
Default eureka.instance.initialStatus to Starting rather than Up. This may add a bit of registration lag in the case of demos, but I think it is the generally safer approach. Having an initial status of Starting means that the application should not receive traffic until it completely finishes initialization.
In the case where an application is slow to start (due to cache warming, off box calls, etc.) an application would be unable to successfully respond to incoming requests during this time, leading to service instability any time new instances are launched.
This should also cover the case where an application's health check returns a negative value due to some misconfiguration. Instead of registering as Up and then transitioning to Down while taking some traffic in between, the app would transition from Starting (no traffic) to Down (still no traffic).
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 by locating the configuration for eureka.instance.initialStatus and the existing Eureka status transition or registration tests. Check how the default status affects traffic during initialization and failed health checks; done means new instances remain excluded from traffic while Starting and Down, with coverage for the changed default.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring, spring-boot
- Domain
- backend, distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100