[
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.