feign.RetryableException: Read timed out executing GET

feign.RetryableException: Read timed out executing GET

I have below architecture in my project
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?

Solutions/Answers:

Solution 1:

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

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

References

Related:  Spring Cloud Stream Kafka - How to implement idempotency to support distributed transaction management (eventual consistency)