Netflix / eureka

AWS Service registry for resilient mid-tier load balancing and failover.
Apache License 2.0
12.4k stars 3.74k forks source link

RetryableEurekaHttpClient keeps on requesting to down eureka server #1400

Open venkatesh-007 opened 3 years ago

venkatesh-007 commented 3 years ago

Description: Have, Java 1.8 with Spring boot 2.0 and Spring Cloud GREENWICH.RELEASE Have 4 eureka server cluster and all 4 urls are passed in defaultZone in Spring boot

one eureka server is down now my eureka client RetryableEurekaHttpClient keeps on trying to connect to down host post every 5 min and gives error

so, i reckon RetryableEurekaHttpClient is not adding host in quratineSet and this is happening only on single host of eureka client, on other instances same eureka client app works fine

troshko111 commented 3 years ago

eureka-client/src/main/java/com/netflix/discovery/shared/transport/decorator/RetryableEurekaHttpClient.java if you check the execute method, you can see it loops for a number of "retries" and for each try it'll use the same last-known good http client (bound to the server endpoint) until it fails with a connect error or 5xx, then its endpoint is quarantined and a new client will be picked. The quarantine is sticky until it overfills (over threshold number of servers get at least one conn error or 5xx).

Check your getRetryableClientQuarantineRefreshPercentage setting (default is 66% AFAIK) and make sure you actual get a connection error or a 5xx (those are the only ones counted towards quarantine)