Uploaded image for project: 'Thorntail'
  1. Thorntail
  2. THORN-1946

MP fault tolerance: too many concurrent requests to @Bulkhead @Fallback method can lead to fallback rejection

    Details

      Description

      This is more of a discussion than a bug, I guess, and might require spec clarification.

      In our implementation, if I have a @Bulkhead method with a @Fallback and fire too many concurrent requests to it, not only will the (synchronous/semaphore) bulkhead fire and direct most of the request to the fallback, but also the fallbacks might be rejected by Hystrix, with this exception:

      Caused by: com.netflix.hystrix.exception.HystrixRuntimeException: <method> fallback execution rejected.
              at com.netflix.hystrix.AbstractCommand.handleFallbackRejectionByEmittingError(AbstractCommand.java:1043)
              at com.netflix.hystrix.AbstractCommand.getFallbackOrThrowException(AbstractCommand.java:875)
              at com.netflix.hystrix.AbstractCommand.handleSemaphoreRejectionViaFallback(AbstractCommand.java:971)
              at com.netflix.hystrix.AbstractCommand.applyHystrixSemantics(AbstractCommand.java:554)
              ...
      

      This sounds at least somewhat reasonable, but I guess the MP FT spec should clarify this behavior. Or would it be considered an implementation-defined behavior that doesn't need to be specified?

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                mkouba Martin Kouba
                Reporter:
                lthon Ladislav Thon
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: