Исключение HystrixRuntimeException: время ожидания истекло, и запасной вариант недоступен.] с основной причиной java.util.concurrent.Исключение TimeoutException: null

#spring-boot #hystrix #feign

#пружинный ботинок #hystrix #симулируйте

Вопрос:

Я постоянно получаю исключение HystrixTimeOut при вызове другого микросервиса через feign. Я прочитал все статьи о сообществе StackOverflow и github, но у меня ничего не получилось.

ниже приведена моя конфигурация:

 hystrixProperties:
  hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 6000000
 

код

 @FeignClient(value = "some-service", decode404 = true)
public interface UserClient extends UserUtil {

  @GetMapping("/names")
  ResponseEntity<UserResponse> getUserData(@RequestHeader("Authorization") String tokenKey);
 

Исключение:

 04-12-2020 12:37:16.459 [https-jsse-nio-20104-exec-6] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet].log - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.netflix.hystrix.exception.HystrixRuntimeException: UserClient#getUserData(String) timed-out and no fallback available.] with root cause
java.util.concurrent.TimeoutException: null
    at com.netflix.hystrix.AbstractCommand.handleTimeoutViaFallback(AbstractCommand.java:997)
    at com.netflix.hystrix.AbstractCommand.access$500(AbstractCommand.java:60)
    at com.netflix.hystrix.AbstractCommand$12.call(AbstractCommand.java:609)
    at com.netflix.hystrix.AbstractCommand$12.call(AbstractCommand.java:601)
    at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$4.onError(OperatorOnErrorResumeNextViaFunction.java:140)
    at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)
    at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87)
    at com.netflix.hystrix.AbstractCommand$HystrixObservableTimeoutOperator$1.run(AbstractCommand.java:1142)
    at com.netflix.hystrix.strategy.concurrency.HystrixContextRunnable$1.call(HystrixContextRunnable.java:41)
    at com.netflix.hystrix.strategy.concurrency.HystrixContextRunnable$1.call(HystrixContextRunnable.java:37)
    at com.netflix.hystrix.strategy.concurrency.HystrixContextRunnable.run(HystrixContextRunnable.java:57)
    at com.netflix.hystrix.AbstractCommand$HystrixObservableTimeoutOperator$2.tick(AbstractCommand.java:1159)
    at com.netflix.hystrix.util.HystrixTimer$1.run(HystrixTimer.java:99)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
 

Моя вызывающая служба может связаться с вызываемой (пользовательской) службой. Служба поддержки пользователей также очень быстро завершает обработку и возвращает данные. Проблема в том, что я получаю исключение в своей вызывающей службе.

Пожалуйста, помогите мне