Pipeline woes (XNAT 1.6.5)

88 views
Skip to first unread message

MarkC

unread,
Feb 17, 2017, 10:22:35 AM2/17/17
to xnat_discussion
Hi,

We've got a freshly installed 1.6.5 instance, which generally works fine except for pipeline activity. For example, uploading DICOM data results with no thumbnails generated, and the relevant snippet in the pipeline/logs file for such a transaction has:

DEBUG main org.nrg.pipeline.client.CommandLineArguments - Pipeline executed with command line: -config /opt/xnat-1.6.5/pipeline/pipeline.config -log /opt/xnat-1.6.5/pipeline/log4j.properties -catalogPath /opt/xnat-1.6.5/pipeline/catalog -pipeline xnat_tools/AutoRun.xml -id CRUKCIexternalpreclinicalimaging_E00012 -host https://XXXXXXX/xnat -u 6c99d205-cd09-46ab-a9e0-ca10ca16f7e0 -pwd XXXXXXXXX -dataType xnat:mrSessionData -label 15707 -supressNotification -project ittest1 -notify XXXXXX@YYYYYY -parameter xnat_project=ittest1 -parameter userfullname=A.Admin -parameter supressEmail=false -parameter useremail=XXXXX@YYYYYYY -parameter session=CRUKCIexternalpreclinicalimaging_E00012 -parameter xnatserver=CRUK -parameter mailhost=X.Y.Z.W -parameter sessionType=xnat:mrSessionData -parameter adminemail=XXXXX@YYYYYY -parameter sessionLabel=15707 -workFlowPrimaryKey 56 CI external preclinical imaging
DEBUG main org.nrg.pipeline.utils.PipelineProperties - Initializing the pipeline properties from the specified properties object
DEBUG main org.nrg.pipeline.utils.PipelineProperties - Setting admin email to: XXXXX@YYYYYY
DEBUG main org.nrg.pipeline.utils.PipelineProperties - Setting email ID to: XXXXXX@YYYYYY
DEBUG main org.nrg.pipeline.utils.PipelineProperties - Setting SMTP host to: X.Y.Z.W
DEBUG main org.nrg.pipeline.utils.PipelineProperties - Setting REST mail host to: https://XXXXXXXX/xnat/data/services/mail/send
FATAL main org.nrg.pipeline.client.XNATPipelineLauncher - Couldn't search for queued workflows
java.net.ConnectException: Connection timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:522)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:401)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
    at org.nrg.xnattools.SessionManager.createJSESSION(SessionManager.java:84)
    at org.nrg.xnattools.SessionManager.getJSESSION(SessionManager.java:136)
    at org.nrg.xnattools.service.WebServiceClient.connect(WebServiceClient.java:84)
    at org.nrg.pipeline.client.XNATPipelineLauncher.isPipelineQueuedOrAwaitingOrOnHold(XNATPipelineLauncher.java:368)
    at org.nrg.pipeline.client.XNATPipelineLauncher.isPipelineQueuedOrAwaitingOrOnHold(XNATPipelineLauncher.java:352)
    at org.nrg.pipeline.client.XNATPipelineLauncher.launch(XNATPipelineLauncher.java:61)
    at org.nrg.pipeline.client.XNATPipelineLauncher.run(XNATPipelineLauncher.java:298)
    at org.nrg.pipeline.client.XNATPipelineLauncher.main(XNATPipelineLauncher.java:260)
DEBUG main org.nrg.pipeline.xpath.XPathResolverSaxon - Expre ^if (boolean(/Pipeline/parameters/parameter[name='aliasHost']/values/unique)) then /Pipeline/parameters/parameter[name='aliasHost']/values/unique/text() else /Pipeline/parameters/parameter[name='host']/values/unique/text()^ [https://XXXXXXX/xnat/]
DEBUG main org.nrg.pipeline.xpath.XPathResolverSaxon - Expre ^fileUtils:GetCachePath(/Pipeline/parameters/parameter[name='resolvedHost']/values/unique/text(), /Pipeline/parameters/parameter[name='user']/values/unique/text(), /Pipeline/parameters/parameter[name='pwd']/values/unique/text(),/Pipeline/parameters/parameter[name='project']/values/unique/text())^ []
ERROR main org.nrg.pipeline.client.XNATPipelineLauncher - Unable to launch pipeline /opt/xnat-1.6.5/pipeline/catalog/xnat_tools/AutoRun.xml
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:635)
    at java.util.ArrayList.get(ArrayList.java:411)
    at org.nrg.pipeline.utils.ParameterUtils.resolveParameterValues(ParameterUtils.java:187)
    at org.nrg.pipeline.utils.ParameterUtils.setParameterValues(ParameterUtils.java:171)
    at org.nrg.pipeline.utils.PipelineEngineUtils.resolveXPath(PipelineEngineUtils.java:87)
    at org.nrg.pipeline.manager.PipelineManager.launchPipeline(PipelineManager.java:210)
    at org.nrg.pipeline.manager.PipelineManager.launchPipeline(PipelineManager.java:193)
    at org.nrg.pipeline.client.XNATPipelineLauncher.launch(XNATPipelineLauncher.java:63)
    at org.nrg.pipeline.client.XNATPipelineLauncher.run(XNATPipelineLauncher.java:298)
    at org.nrg.pipeline.client.XNATPipelineLauncher.main(XNATPipelineLauncher.java:260)
DEBUG main org.nrg.pipeline.utils.MailUtils - Sending message with subject: XNAT update: Processing failed for 15707

We've set up a couple of other XNAT instances which have worked just fine, and the only real difference with this instance is that its publicly visible URL (and the one for which its SSL certificate has been generated) is not the same as its canonical hostname. Could this be an issue? If not, any other clues?

Thanks for any help,
Mark

Mohana Ramaratnam

unread,
Feb 17, 2017, 11:07:51 AM2/17/17
to xnat_discussion
Its URL issue. In the pipeline folder, there is a properties file. Set the host to appropriate localhost url

--
You received this message because you are subscribed to the Google Groups "xnat_discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xnat_discussi...@googlegroups.com.
To post to this group, send email to xnat_di...@googlegroups.com.
Visit this group at https://groups.google.com/group/xnat_discussion.
For more options, visit https://groups.google.com/d/optout.
--

Mohana Ramaratnam

MarkC

unread,
Feb 22, 2017, 8:24:39 AM2/22/17
to xnat_discussion
Hi Mohana,

Thanks for replying, and the problem's now been resolved. The hostname was actually set correctly in pipeline.config, and the issue was a bit more subtle. Because this instance is to be be public facing in our DMZ, it was having traffic to itself that went out via the n/w card being blocked by a very zealous firewall. The trick was to put an entry in /etc/hosts mapping the hostname of the URL to 127.0.0.1 (localhost), and adding a DNAT rule for doing the necessary port mapping 443->8443 (since the usual iptable rules for mapping incoming traffic don't apply to localhost traffic). Once that was done it burst into life.

Thanks,
Mark
Reply all
Reply to author
Forward
0 new messages