You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Jerry Cwiklik (JIRA)" <de...@uima.apache.org> on 2016/03/10 22:46:40 UTC

[jira] [Updated] (UIMA-4830) UIMA-AS: refactor SharedConnection code in the client

     [ https://issues.apache.org/jira/browse/UIMA-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-4830:
--------------------------------
    Issue Type: Improvement  (was: Bug)

> UIMA-AS: refactor SharedConnection code in the client
> -----------------------------------------------------
>
>                 Key: UIMA-4830
>                 URL: https://issues.apache.org/jira/browse/UIMA-4830
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.8.1AS
>
>
> Current UIMA-AS client code uses single instance of a semaphore (sharedConnectionSemaphore) to guard access to JMS connections. The client code creates a connection for each broker url a client wants to use. So there may be multiple shared connections (one per broker URL) and one semaphore for all. If one of the shared connections hangs as recently observed when using failover://(...), other threads hang waiting for a semaphore to be released. The hang is caused by silent retry in AMQ connection.start(). This method does not return if broker is not accepting a connection and client uses failover protocol.
> Modify client code to use different semaphore for each broker url. Failure to connect to one will not effect other connections (threads).
> Also, add ExceptionListener to Connection object to receive notification on failures. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)