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

Jerry Cwiklik reopened UIMA-1726:
---------------------------------


When the broker is started with no JMX support, the UIMA AS service keeps 
logging a message like this:

4/20/10 4:20:56 PM - 30: 
org.apache.uima.adapter.jms.activemq.JmsInputChannel.ackMessage: WARNING:
java.io.IOException: Failed to retrieve RMIServer stub: 
javax.naming.ServiceUnavailableException [Root exception is 
java.rmi.ConnectException: Connection refused to host: 10.45.2.100; nested 
exception is:
       java.net.ConnectException: Connection refused]
       at 
javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:323)
       at 
javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248)
       at 
org.apache.uima.aae.jmx.RemoteJMXServer.initialize(RemoteJMXServer.java:76)
       at 
org.apache.uima.adapter.jms.activemq.JmsInputChannel.attachToRemoteBrokerJMXServer(JmsInputChannel.java:837)
       at 
org.apache.uima.adapter.jms.activemq.JmsInputChannel.onMessage(JmsInputChannel.java:605)
       at 
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:518)
       at 
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:479)
       at 
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
       at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
       at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
       at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
       at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
       at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
       at java.lang.Thread.run(Thread.java:619)
Caused by: javax.naming.ServiceUnavailableException [Root exception is 
java.rmi.ConnectException: Connection refused to host: 10.45.2.100; nested 
exception is:
       java.net.ConnectException: Connection refused]
       at 
com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:101)
       at 
com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:185)
       at javax.naming.InitialContext.lookup(InitialContext.java:392)
       at 
javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1871)
       at 
javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1841)
       at 
javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:257)
       ... 13 more

The service should only log this exception once and continue with no further 
attempts to connect to broker's JMX MBeanServer. 


> Long GC causes UIMA AS service to loose broker connection and marks the 
> client as dead
> --------------------------------------------------------------------------------------
>
>                 Key: UIMA-1726
>                 URL: https://issues.apache.org/jira/browse/UIMA-1726
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.3AS
>
>
> When the JVMs GC takes a long time, the UIMA AS fails to validate the broker 
> connection and proceeds to close it as if the broker died. It seems that the 
> long GC freezes the jvm and prevents the low level socket pinging to work 
> correctly. This pinging is a mechanism by which the low level AMQ code relies 
> upon to detect a broker failure. In this case, the broker is actually fine. 
> The side effect of the above is that the UIMA AS service falsely adds the 
> client to the DoNotProcess list. This is an optimization that was recently 
> added that prevents wasting processing cycles while handling CASes that are 
> known to have come from clients that had gone away. Each CAS origin is 
> checked against that list and if there is a match the CAS is thrown away. It 
> seems that we need a better mechanism to detect broker failure.  

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

Reply via email to