Uploaded image for project: 'EJB Client Library (AS7+)'
  1. EJB Client Library (AS7+)
  2. EJBCLIENT-162

EJB client unnecessary mark a channel/connection as broken if can't read a message

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 1.0.30.Final, 2.1.4.Final
    • Fix Version/s: 2.1.9.Final
    • Labels:
      None

      Description

      If EJB invocations can't be completed the ejb-client mark the channel/connection as broken and therefore a hickup is seen in the logfiles. If it is a single server there might be some invocations rejected with an EJBCLIENT000025 failure.
      The client should make a difference for logical issues and not invalidate the channel/connection.

      The log might show an error and after that the server is not available, the messages look like this:
      DEBUG org.jboss.ejb.client.EJBClientContext: MyServer is excluded from handling appname=,modulename=myEJB,distinctname= in invocation context org.jboss.ejb.client.EJBClientInvocationContext@4b66500b

      One case is if the worker thread with the invocation was canceled, in that case the Exception is like followed:
      2016-07-25 16:03:45,740 DEBUG [pool-1-thread-2] org.jboss.ejb.client: Retrying invocation org.jboss.ejb.client.EJBClientInvocationContext@5160492d which failed on node: v-lau due to:
      org.jboss.ejb.client.RequestSendFailedException
      at org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver.processInvocationInternal(RemotingConnectionEJBReceiver.java:257)
      at org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver.processInvocation(RemotingConnectionEJBReceiver.java:215)
      at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:184)
      ......
      Caused by: java.lang.InterruptedException
      at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1301)
      at java.util.concurrent.Semaphore.acquire(Semaphore.java:317)
      at org.jboss.ejb.client.remoting.ChannelAssociation.acquireChannelMessageOutputStream(ChannelAssociation.java:261)
      at org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver.processInvocationInternal(RemotingConnectionEJBReceiver.java:239)

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  gaol Lin Gao
                  Reporter:
                  wdfink Wolf-Dieter Fink
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: