[ 
https://issues.apache.org/jira/browse/UIMA-3639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13906338#comment-13906338
 ] 

Jim Challenger commented on UIMA-3639:
--------------------------------------

Let me suggest a much simpler and safer mechanism.  OR exit at startup is hard 
to detect, and potentially leaves parts of DUCC running but useless, all of 
which would need to be detected and cleaned up.

Currently the DUCC scripting checks for AMQ life by insuring the configured 
port, usually 61616, or 61617 for DUCC 1.0.0, is being listened to on the 
configured AMQ node.

It would be trivial to also check for the configured JMX port as well.  This 
would be picked up in check_ducc and start_ducc, preventing partial starup if 
all is not well, and allowing easy verification at any time.

If we get consensus on this it will take all of 5 minutes to make the change.

> DUCC Orchestrator (OR) should fail to start if MQReaper cannot connect
> ----------------------------------------------------------------------
>
>                 Key: UIMA-3639
>                 URL: https://issues.apache.org/jira/browse/UIMA-3639
>             Project: UIMA
>          Issue Type: Improvement
>          Components: DUCC
>    Affects Versions: 1.0-Ducc
>            Reporter: Lou DeGenaro
>            Assignee: Lou DeGenaro
>            Priority: Minor
>
> 19 Feb 2014 14:36:58,122 ERROR OR.MqReaper - init     N/A
> java.io.IOException: Failed to retrieve RMIServer stub: 
> javax.naming.ServiceUnavailableException [Root exception is 
> java.rmi.ConnectException: Connection refused to host: bluej667; nested 
> exception is:
>         java.net.ConnectException: Connection refused]
>         at 
> javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:368)
>         at 
> javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:278)
>         at 
> javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:237)
>         at org.apache.uima.ducc.common.mq.MqHelper.connect(MqHelper.java:128)
>         at org.apache.uima.ducc.common.mq.MqHelper.<init>(MqHelper.java:57)
>         at 
> org.apache.uima.ducc.orchestrator.maintenance.MqReaper.init(MqReaper.java:69)
>         at 
> org.apache.uima.ducc.orchestrator.maintenance.MqReaper.<init>(MqReaper.java:63)
>         at 
> org.apache.uima.ducc.orchestrator.maintenance.MqReaper.getInstance(MqReaper.java:52)
>         at 
> org.apache.uima.ducc.orchestrator.maintenance.MaintenanceThread.run(MaintenanceThread.java:105)
> Caused by: javax.naming.ServiceUnavailableException [Root exception is 
> java.rmi.ConnectException: Connection refused to host: bluej667; nested 
> exception is:
>         java.net.ConnectException: Connection refused]
>         at 
> com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:130)
>         at 
> com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:215)
>         at javax.naming.InitialContext.lookup(InitialContext.java:422)
>         at 
> javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1935)
>         at 
> javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1902)
>         at 
> javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:285)
>         ... 8 more
> Caused by: java.rmi.ConnectException: Connection refused to host: bluej667; 
> nested exception is:
>         java.net.ConnectException: Connection refused
>         at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:631)
>         at 
> sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:228)
>         at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:214)
>         at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:352)
>         at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
>         at 
> com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:126)
>         ... 13 more
> Caused by: java.net.ConnectException: Connection refused
>         at java.net.Socket.connect(Socket.java:590)
>         at java.net.Socket.connect(Socket.java:539)
>         at java.net.Socket.<init>(Socket.java:436)
>         at java.net.Socket.<init>(Socket.java:219)
>         at 
> sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:52)
>         at 
> sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:158)
>         at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:625)
>         ... 18 more



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to