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)" <ui...@incubator.apache.org> on 2009/02/18 17:05:01 UTC

[jira] Created: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
----------------------------------------------------------------------------------

                 Key: UIMA-1292
                 URL: https://issues.apache.org/jira/browse/UIMA-1292
             Project: UIMA
          Issue Type: Bug
          Components: Async Scaleout
            Reporter: Jerry Cwiklik


When a broker connection cannot be established Uima AS jms listener applies an action defined in an error handler. This is not a desired behavior. What is required instead, the listener should dump an error message once to stdout and a log if the connection to a broker cannot be made or is lost and the listener should enter an indefinite loop attempting to recover the connection. When the connection is established, a message should be dumped to stdout and the log to indicate successful connection recovery

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik closed UIMA-1292.
-------------------------------

    Resolution: Fixed

The listener failed to recover from a lost broker because of the maxInactivityDuration=0 parameter in the broker URL. This effectively turns off ability to detect socket closure and causing a service to sit on a stale connection. No messages flow into the service even if a new broker becomes available. Modified the listener to accept broker URL as provided by a user. Removed check for existence of maxInactivityDuration=0. If there are problems with socket closing due to inactivity use keepAlive=true parameter in the broker URL instead of maxInactivityDuration=0. Example: tcp://host:61616?keepAlive=true. This turns on low level socket keep alive protocol which sends small packets and awaits ACKs. The frequency of  these packets can be changed on linux by editing this file: /proc/sys/net/ipv4/tcp_keepalive_intvl. The default frequency on linux is 75 seconds
 

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik reopened UIMA-1292:
---------------------------------

      Assignee: Jerry Cwiklik

While attempting to connect to a Broker, Spring logs many failure messages. Since retries are done quickly, every failure results in a new message in the log. In time, this logging can fill up the disk space. The known work around is to change Logger.properties file and increase log level on UimaDefaultMessageListenerContainer.class to WARNING. A better approach would be to set the high Debug Level in the constructor of the class.


> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1292:
--------------------------------

    Fix Version/s: 2.3AS

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.3AS
>
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Closed: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by Marshall Schor <ms...@schor.com>.
Jerry says this is a important fix to get into the release - so I'll do
RC-6 (changes only for uima-as, no changes for the others).

-Marshall


Jerry Cwiklik (JIRA) wrote:
>      [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Jerry Cwiklik closed UIMA-1292.
> -------------------------------
>
>     Resolution: Fixed
>
> Fixed a bug in JMS listener code that prevented the listener from retrying a connection on service startup when broker is not available.
>
>   
>> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
>> ----------------------------------------------------------------------------------
>>
>>                 Key: UIMA-1292
>>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>>             Project: UIMA
>>          Issue Type: Bug
>>          Components: Async Scaleout
>>            Reporter: Jerry Cwiklik
>>            Assignee: Jerry Cwiklik
>>             Fix For: 2.3AS
>>
>>
>> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.
>>     
>
>   

[jira] Closed: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik closed UIMA-1292.
-------------------------------

    Resolution: Fixed

Fixed a bug in JMS listener code that prevented the listener from retrying a connection on service startup when broker is not available.

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.3AS
>
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12677505#action_12677505 ] 

Jerry Cwiklik commented on UIMA-1292:
-------------------------------------

Fixed the uima AS listener code to catch connection error due to a missing broker on service startup. A message is dumped to stdout and the log indicating a problem, identifying the service name as well as the broker URL. New code forces Spring to silently attempt connection recovery at 5 secs intervals. When the broker finally starts, the connection is established and the service becomes available for processing. 
Added a new testcase: testDelayedBrokerWithAggregateService() to test the recovery.

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik reopened UIMA-1292:
---------------------------------


Uima AS service terminates if a broker is not available. A silent retry should be done instead. This used to work. Recent changes must have introduced this bug. Modify JMS listener code to force silent retry if a broker is not available when the service starts up.  

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.3AS
>
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik closed UIMA-1292.
-------------------------------

    Resolution: Fixed

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik reopened UIMA-1292:
---------------------------------


Remove a testTerminateOnInitializationFailureWithDelegateBrokerMissing() test from extended test suite that expects an exception when a Broker is not available. The code has recently been changed to silently retry the connection indefinitely. Thus the test hangs. 

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.3AS
>
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik closed UIMA-1292.
-------------------------------

    Resolution: Fixed

Increased Debug Level in the UimaDefaultMessageListenerContainer constructor to silence retries

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik closed UIMA-1292.
-------------------------------

    Resolution: Fixed

Removed testTerminateOnInitializationFailureWithAggregateForcedShutdown() as it was causing a hang. In this test, an aggregate tries to establish a connection to a non-existent broker. before recent changes, the listener was not trying to recover a connection a broker and simply terminated the service. Recent code changes force the listener to silently reconnect until a broker is ready but since the broker is never started the test hangs. This test is no longer valid. 

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.3AS
>
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik reopened UIMA-1292:
---------------------------------


Spring listener does not detect Broker failures and subsequent Broker restart. If the broker dies, spring does not notify the uima AS  service of the failure. Broker restart is not recognized by spring leading to a dead service. Investigate if there is a way in spring to detect broker failure and subsequent restart.

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1292) Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1292:
--------------------------------

    Description: 
UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.


  was:When a broker connection cannot be established Uima AS jms listener applies an action defined in an error handler. This is not a desired behavior. What is required instead, the listener should dump an error message once to stdout and a log if the connection to a broker cannot be made or is lost and the listener should enter an indefinite loop attempting to recover the connection. When the connection is established, a message should be dumped to stdout and the log to indicate successful connection recovery


Fixed the comment

> Uima AS Jms Listener Should Support Retry When Establishing Connection To a Broker
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1292
>                 URL: https://issues.apache.org/jira/browse/UIMA-1292
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>
> UIMA AS service should support retry when a listener on the service input queue fails due to a broker not being available. The listener should log a message stating the fact that the broker is not available and it should enter a loop attempting to reconnect. When a broker becomes available the listener should reconnect, log a message that the connection was made, and proceed to complete initialization.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.