spring-cloud-netflix: Bootstrap discovery (locating config server via discovery) leads to harmless RejectedExecutionException in logs
My microservices’ logs show periodically, can’t tell when, just at a certain moment the following exception:
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@7a98c42 rejected from java.util.concurrent.ThreadPoolExecutor@96e72c7[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(Unknown Source) ~[na:1.8.0_74]
at java.util.concurrent.ThreadPoolExecutor.reject(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) ~[na:1.8.0_74]
at com.netflix.discovery.TimedSupervisorTask.run(TimedSupervisorTask.java:62) ~[eureka-client-1.4.6.jar:1.4.6]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_74]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_74]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_74]
My infraestructure has two Eureka peer aware servers, with the following configuration:
---
spring:
profiles: archimedes1
server:
port: ${PORT:8761}
eureka:
instance:
hostname: archimedes1
client:
serviceUrl:
defaultZone: http://archimedes2:8762/eureka/
---
spring:
profiles: archimedes2
server:
port: ${PORT:8762}
eureka:
instance:
hostname: archimedes2
client:
serviceUrl:
defaultZone: http://archimedes1:8761/eureka/
All my services, at some moment throw that exception. This is and example of one of them:
---
spring:
application:
name: user-api
profiles: user-api1
cloud:
config:
discovery:
enabled: true
failFast: true
retry:
maxAttempts: 100
initialInterval: 2000
maxInterval: 3000
multiplier: 1.5
server:
port: 9977
eureka:
client:
serviceUrl:
defaultZone: http://archimedes1:8761/eureka/,http://archimedes2:8762/eureka/
healthcheck:
enabled: true
Despite the exception everything keeps running OK, but it’s kind of annoying to get it. If you think this should be a Netflix’s Eureka issue let me know and I’ll close this one.
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 30 (17 by maintainers)
You call that a solution? That’s like doctor telling a patient not to worry because the MRI machine isn’t working.
@abhijitsarkar please be aware of your tone. That last comment was not necessary. So far, besides the error showing in the log, no one has demonstrated that it is negatively affecting their applications.
My analogy to the doctor in response to a suggestion of suppressing error logs was disrespectful? And violates the code of conduct? Sorry, I just don’t get it.
The last relevant comment from a committer was 3 months ago saying that they won’t have time to look into this issue. And from your comment above, it seems like you’re waiting for the users to prove that they are negatively impacted before you do anything about it. Of course, this is a community driven open source but don’t you think ludicrous log suppression isn’t the answer?
Pleasing to me vs. respectful to all is very different.