feign.RetryableException: Read timed out executing GET

chaitanya dalvi picture chaitanya dalvi · Oct 5, 2018 · Viewed 19.4k times · Source

I have below architecture in my projectenter image description here

My UI Service(Port 8080) making Feign call to Gateway Service(Port 8085).
My Get call from UI service is " http://localhost:8080/invoice-list?startDate=2018-08-05&endDate=2018-10-05 "
Similar call from Gateway Service "http://localhost:8085/invoice-download-service/invoice-list?startDate=2018-08-05&endDate=2018-10-05"

When i make this GET call from UI service i get below error within minute

 is feign.RetryableException: Read timed out executing GET http://localhost:8085/invoice-download-service/invoice-list?startDate=2018-08-05&endDate=2018-10-05] with root cause

java.net.SocketTimeoutException: Read timed out

But when i make direct call from Gateway Server to microservice, i dont get error.

Application.properties file of Gateway service

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=160000000

ribbon.OkToRetryOnAllOperations=true
ribbon.ReadTimeout=5000000
ribbon.ConnectTimeout=5000000
ribbon.MaxAutoRetries=3
ribbon.MaxAutoRetriesNextServer=3


zuul.host.socket-timeout-millis= 5000000
zuul.host.connect-timeout-millis= 5000000

Here i have set readtimeout and connecttimeout property around 8 to 10 min, hence i am not getting error.

Application.properties file of UI service

spring.application.name=external-ui-service

server.port=8080

Here in UI service i dont have timeout property. I tried above properties here but not working. Obviously this UI service is not using ribbon,zuul etc. This is just an making Feign call to gateway.

So what should i do to increase timeout in UI service?

Answer

chaitanya dalvi picture chaitanya dalvi · Oct 9, 2018

Added below properties in UI Service's application.propeties file.

feign.client.config.default.connectTimeout: 160000000
feign.client.config.default.readTimeout: 160000000