Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-1308

EJB invocation from a remote client when the deployment is being undeployed doesn't trigger a retry on a different node

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 8.0.0.Alpha1
    • None
    • EJB
    • None

    Description

      Consider the following case:

      1) Same bean deployed on a server A and server B
      2) Remote EJB client which is aware of both server A and server B, in its EJBClientContext, invokes on the bean
      3) EJB client API selects server A as the target node and lets it handle it.
      4) In the meantime, after the request has been sent, but before it has been handled on the server A, the deployment on server A is triggered for undeployment.
      5) This causes the EJB component on server A to throw an exception telling the client that the bean is in shutdown mode and no more invocations are accepted.

      The exception thrown in #5 should really trigger a retry of the invocation, from the client side, on other eligible nodes (in this case Server B), because this failure is as good as the bean not being available in first place on Server A.

      Currently, the client isn't retrying the invocation on a different node, because it has no idea that this specific exception is no different than other potential exceptions that can be thrown by the server for a EJB invocation. To fix this, the method invocation handler on the server side should send back a "no such bean" message to the client, when the server sees that the bean is in shutdown mode.

      Attachments

        Activity

          People

            jaikiran Jaikiran Pai (Inactive)
            jaikiran Jaikiran Pai (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: