pipeline wkflows / internal /external IPs

100 views
Skip to first unread message

anda

unread,
Jun 14, 2010, 12:02:15 PM6/14/10
to xnat_discussion
Hi

We have recently installed a new firewall on our production server .
The server has now an internal address and an external one.

Since the firewall is up - the pipeline does not work properly. It
queues all the workflows and never complete them.

Attached is a sample pipeline log file. It points to the external
address. I wonder if this is not the cause of the issue. Is there any
specific place that I should edit - so the pipeline host will point to
the internal address?
Actually I'm a little bit confused how to set the IPs on all the app
config files - DicomServer , Pipeline, build.properties - to make
sure all the processes run efficiently.

Thank you
Anda

Olsen, Timothy

unread,
Jun 15, 2010, 10:08:56 PM6/15/10
to xnat_di...@googlegroups.com
The site url configured in build.properties (and more importantly the Default Settings page) should match the URL users can access your site at.

I believe the pipeline and the DicomServer have support for customizing the URL differently. Mohana and Kevin should be able to fill in some details there.

Tim

Hi

Thank you
Anda

--
You received this message because you are subscribed to the Google Groups "xnat_discussion" group.
To post to this group, send email to xnat_di...@googlegroups.com.
To unsubscribe from this group, send email to xnat_discussi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/xnat_discussion?hl=en.

Mohana Ramaratnam

unread,
Jun 16, 2010, 7:02:01 AM6/16/10
to xnat_di...@googlegroups.com
You can set the -aliasHost option in <PIPELINE_HOME>/bin/XnatPipelineLauncher

This flag is used only for the Transfer pipeline as we expect all other pipelines, which are processor intensive, on machines other than the one hosting the site.

Does this help you Anda?

Mohana

Kevin Archie

unread,
Jun 16, 2010, 7:21:53 AM6/16/10
to xnat_di...@googlegroups.com
I'm not completely sure I understand what your setup looks like, but I suspect the DicomServer configuration would be very similar to the reverse proxy example in the DicomServer documentation: http://nrg.wikispaces.com/DicomServer . Start from that documentation, and do please feel ask if anything is unclear or doesn't match your situation.

- Kevin

Kevin Archie

unread,
Jun 16, 2010, 7:29:40 AM6/16/10
to xnat_di...@googlegroups.com
Um, that should read "feel free to ask." Or just "ask," I suppose. (Reminder to self: read the message before clicking send.)

- Kevin

anda

unread,
Jun 16, 2010, 10:39:55 AM6/16/10
to xnat_discussion


Hi Mohana

I added the -aliasHost in the PipelineLauncher - the pipeline job
failed @ 20% completed.
I was trying to run the command line - below is the output: Tx.

/usr/local/xnat/pipeline/bin/XnatPipelineLauncher -pipeline xnat_tools/
Transfer.xml -id RRINiD_E01202 -label DailyQC12Chn_June13_2010 -host
http://63.243.143.242:8080/xnat -supressNotification -u admin -
dataType xnat:mrSessionData -project "GrahamS_RPhan" -notify
apac...@rotman-baycrest.on.ca -notify apac...@rotman-baycrest.on.ca -
parameter cachepath='/melpomene/xnat_mri/xnat_cache/GrahamS_RPhan/
transfer_bk/20100613_125438/Daily_QC12_Chn' -parameter
xnat_project='GrahamS_RPhan' -parameter notifyAdmin='1' -parameter
userfullname='A.Admin' -parameter useremail='apacurar@rotman-
baycrest.on.ca' -parameter mailhost='mail.rotman-baycrest.on.ca' -
parameter xnatserver='RRINiD' -parameter session='RRINiD_E01202' -
parameter sourceDir='/melpomene/xnat_mri/xnat_prearchive/GrahamS_RPhan/
20100613_125438/Daily_QC12_Chn' -parameter destinationDir='/melpomene/
xnat_mri/xnat_archive/GrahamS_RPhan/arc001/DailyQC12Chn_June13_2010/'
-parameter sessionType='xnat:mrSessionData' -parameter logDir='/
melpomene/xnat_mri/xnat_cache/logs/transfer' -parameter
adminemail='apac...@rotman-baycrest.on.ca' -parameter
sessionLabel='DailyQC12Chn_June13_2010' -pwd 'xxxxxxx'
Param Value Pair host=http://63.243.143.242:8080/xnat/
Param Value Pair u=admin
Param Value Pair cachepath=/melpomene/xnat_mri/xnat_cache/
GrahamS_RPhan/transfer_bk/20100613_125438/Daily_QC12_Chn
Param Value Pair xnat_project=GrahamS_RPhan
Param Value Pair notifyAdmin=1
Param Value Pair userfullname=A.Admin
Param Value Pair useremail=apac...@rotman-baycrest.on.ca
Param Value Pair mailhost=mail.rotman-baycrest.on.ca
Param Value Pair xnatserver=RRINiD
Param Value Pair session=RRINiD_E01202
Param Value Pair sourceDir=/melpomene/xnat_mri/xnat_prearchive/
GrahamS_RPhan/20100613_125438/Daily_QC12_Chn
Param Value Pair destinationDir=/melpomene/xnat_mri/xnat_archive/
GrahamS_RPhan/arc001/DailyQC12Chn_June13_2010/
Param Value Pair sessionType=xnat:mrSessionData
Param Value Pair logDir=/melpomene/xnat_mri/xnat_cache/logs/transfer
Param Value Pair adminemail=apac...@rotman-baycrest.on.ca
Param Value Pair sessionLabel=DailyQC12Chn_June13_2010
Param Value Pair pwd=********
Param Value Pair aliasHost=http://172.24.0.250:8080/xnat
Logging to File /usr/local/xnat/pipeline/logs/
pipeline_2010_06_16_10_36_28.log
Requesting matching IDs...
Response Received (16 ms)
Recd 759
Created File: /root/759.xml
Sending Request...
Response Received (224 ms)
Item Stored
sh -c /usr/local/xnat/pipeline/ant-tools/bin/AntCopy -src /melpomene/
xnat_mri/xnat_prearchive/GrahamS_RPhan/20100613_125438/Daily_QC12_Chn -
dest /melpomene/xnat_mri/xnat_archive/GrahamS_RPhan/arc001/
DailyQC12Chn_June13_2010/ -overwrite
sh -c /usr/local/xnat/pipeline/ant-tools/bin/AntCopy --version
sh -c ldd /usr/local/xnat/pipeline/ant-tools/bin/AntCopy
Sending Request...
Response Received (99 ms)
Item Stored
org.nrg.pipeline.exception.PipelineException: Execution of /usr/local/
xnat/pipeline/ant-tools/bin/AntCopy -src /melpomene/xnat_mri/
xnat_prearchive/GrahamS_RPhan/20100613_125438/Daily_QC12_Chn -dest /
melpomene/xnat_mri/xnat_archive/GrahamS_RPhan/arc001/
DailyQC12Chn_June13_2010/ -overwrite at Step[id= 1:] was unsuccesfull
Execution of /usr/local/xnat/pipeline/ant-tools/bin/AntCopy -src /
melpomene/xnat_mri/xnat_prearchive/GrahamS_RPhan/20100613_125438/
Daily_QC12_Chn -dest /melpomene/xnat_mri/xnat_archive/GrahamS_RPhan/
arc001/DailyQC12Chn_June13_2010/ -overwrite at Step[id= 1:] was
unsuccesfull
at
org.nrg.pipeline.manager.ExecutionManager.execute(ExecutionManager.java:
121)
at org.nrg.pipeline.task.StepManager.execute(StepManager.java:
166)
at
org.nrg.pipeline.manager.PipelineManager.launchPipeline(PipelineManager.java:
213)
at
org.nrg.pipeline.manager.PipelineManager.launchPipeline(PipelineManager.java:
193)
at
org.nrg.pipeline.client.XNATPipelineLauncher.launch(XNATPipelineLauncher.java:
47)
at
org.nrg.pipeline.client.XNATPipelineLauncher.main(XNATPipelineLauncher.java:
264)
org.nrg.pipeline.exception.PipelineException: Unable to complete
pipeline Execution of /usr/local/xnat/pipeline/ant-tools/bin/AntCopy -
src /melpomene/xnat_mri/xnat_prearchive/GrahamS_RPhan/20100613_125438/
Daily_QC12_Chn -dest /melpomene/xnat_mri/xnat_archive/GrahamS_RPhan/
arc001/DailyQC12Chn_June13_2010/ -overwrite at Step[id= 1:] was
unsuccesfull Execution of /usr/local/xnat/pipeline/ant-tools/bin/
AntCopy -src /melpomene/xnat_mri/xnat_prearchive/GrahamS_RPhan/
20100613_125438/Daily_QC12_Chn -dest /melpomene/xnat_mri/xnat_archive/
GrahamS_RPhan/arc001/DailyQC12Chn_June13_2010/ -overwrite at Step[id=
1:] was unsuccesfull
at
org.nrg.pipeline.manager.PipelineManager.launchPipeline(PipelineManager.java:
226)
at
org.nrg.pipeline.manager.PipelineManager.launchPipeline(PipelineManager.java:
193)
at
org.nrg.pipeline.client.XNATPipelineLauncher.launch(XNATPipelineLauncher.java:
47)
at
org.nrg.pipeline.client.XNATPipelineLauncher.main(XNATPipelineLauncher.java:
264)
Unable to launch pipeline /usr/local/xnat/pipeline/catalog/xnat_tools/
Transfer.xml
Message sent OK.
Message sent OK.

anda

unread,
Jun 16, 2010, 10:43:43 AM6/16/10
to xnat_discussion


Hi Mohana

It is working now. I think it failed because I sent the job twice once
after another.

So the problem was fixed by adding the -aliasHost with the internal IP
address and sh setup.sh the pipeline.

Thank you
Anda

anda

unread,
Jun 16, 2010, 12:09:15 PM6/16/10
to xnat_discussion


Hi Kevin

I was using successfully for months the DicomServer until we have
installed the firewall and I upgraded to DicomServer-xnat-1.4-
r702.tgz.

I was following the instructions posted on the http://nrg.wikispaces.com/DicomServer
, but I have noticed that the DicomServer.xml and arc-dcmstore
templates that come with the version 1-4-r702 do not have the format
suggested on the website. Should I replace these files with the new
format suggested? Tx.Anda PS: "I was free like a bird on asking
this question :):) "

********************
Dicom server log:

2010-06-16 10:45:43,652 ERROR [main] org.nrg.dcm.DicomServer - unable
to start http servi
ces
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at java.net.ServerSocket.<init>(ServerSocket.java:141)
at
org.mortbay.jetty.bio.SocketConnector.newServerSocket(SocketConnector.java:
80)
at
org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
at
org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:
283)
at
org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:
147)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
39)
at org.mortbay.jetty.Server.doStart(Server.java:233)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
39)
at org.nrg.dcm.DicomServer.startWebServices(DicomServer.java:
497)
at org.nrg.dcm.DicomServer.<init>(DicomServer.java:426)
at org.nrg.dcm.DicomServer.main(DicomServer.java:628)



*********************
More Details
*****************
*************
[root@haumea DicomServer-xnat-1.4]# ps -ef | grep Dicom
root 16976 1 0 10:45 pts/1 00:00:00 /usr/java/jdk1.6.0_03/
bin/java -server -showversion -Ddaemon.pidfile=/tmp/DicomServer.pid
org.nrg.dcm.DicomServer -properties etc/DicomServer.xml RRIPNiD:8104
root 18709 15645 0 11:58 pts/1 00:00:00 grep Dicom

*************
[root@haumea DicomServer-xnat-1.4]# more /tmp/DicomServer.pid
16976

******************
[root@haumea DicomServer-xnat-1.4]# more etc/DicomServer.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>
configuration file for DicomServer, by kar...@npg.wustl.edu
</comment>

<entry key="arcspec">/melpomene/xnat_mri/xnat_cache/
archive_specification.xml</entry>
<entry key="xnat_url">http://63.243.143.242</entry>
<entry key="user">adminusername</entry>
<entry key="password">adminpassword</entry>

<entry key="xnat_public_url">http://63.243.143.242</entry>


<entry key="http_port">8080</entry>
<entry key="scp_public_host">63.243.143.242</entry>
<entry key="scp_public_port">8104</entry>
<entry key="sessions_url">http://63.243.143.242:8080/xnat</entry>
<entry key="project_spec">(0008,1030):Project:\s*(\w+)</entry>

<entry key="log4j.rootLogger">WARN,R</entry>

<entry key="log4j.appender.R">org.apache.log4j.RollingFileAppender</
entry>
<entry key="log4j.appender.R.File">/usr/local/xnat/DicomServer.log</
entry>
<entry key="log4j.appender.R.MaxFileSize">100KB</entry>
<entry key="log4j.appender.R.MaxBackupIndex">4</entry>
<entry key="log4j.appender.R.layout">org.apache.log4j.PatternLayout</
entry>
<entry key="log4j.appender.R.layout.ConversionPattern">%d %5p [%t] %c
- %m%n</entry>

<entry key="log4j.logger.org.dcm4che2">WARN</entry>
<entry key="log4j.logger.org.nrg">INFO</entry>

<entry key="log4j.additivity.org.nrg.xnat.received">false</entry>
<entry key="log4j.logger.org.nrg.xnat.received">INFO,RECEIVED</entry>

<entry
key="log4j.appender.RECEIVED">org.apache.log4j.DailyRollingFileAppender</
entry>
<entry key="log4j.appender.RECEIVED.File">/var/log/DicomServer-
received.log</entry>
<entry key="log4j.appender.RECEIVED.DatePattern">'.'yyyy-MM-dd</entry>
<entry
key="log4j.appender.RECEIVED.layout">org.apache.log4j.PatternLayout</
entry>
<entry key="log4j.appender.RECEIVED.layout.ConversionPattern">%d %m%n</
entry>

</properties>

***************
[root@haumea bin]# more arc-dcmstore
#!/bin/sh
# Run the DICOM storage service
# Copyright (c) 2008,2009 Washington University
# Author: Kevin A. Archie <kar...@npg.wustl.edu>
IFS=

######################
# Configuration items
######################

# Path of "lib" directory, where jars can be found
LIBDIR=${LIBDIR:-.}

# Path of properties file containing configuration information
propsfile=${PROPERTIES:-etc/DicomServer.xml}

# process ID file, used to find the active server
pidfile=/tmp/DicomServer.pid


DICOM_AE_NAME=${DICOM_AE_NAME:-RRIPNiD}
DICOM_PORT=${DICOM_PORT:-8104}

if [ $JAVA_HOME ] ; then
JAVA=${JAVA:-${JAVA_HOME}/bin/java}
else
JAVA=${JAVA:-java}
fi
CLASSPATH="`find \"${LIBDIR}\" -name '*.jar' -print | tr '\n' :`$
{LIBDIR}"
case "`uname`" in


etc etc


Archie, Kevin

unread,
Jun 16, 2010, 12:59:31 PM6/16/10
to xnat_di...@googlegroups.com
Anda,

Looking at your config, I think your situation is very close to the simple case in the documentation. In your position, I'd start from the simple configuration rather than adapting the config that comes with the distribution (which tries to show off most of the available options, and is thus a little flabby for most installs).

Note also that the http_port entry in the DicomServer.xml is for DicomServer's web service, not the Tomcat where your XNAT is running. You should select some other port -- I usually use 8103 or 8180. That port number gets also registered with XNAT on the Default Settings page so that the upload applet knows where to find DicomServer.

Finally, there's a new build as of this morning:

http://nrg.wustl.edu/projects/DICOM/DicomServer-1.4.1-SNAPSHOT-distrib.tar.gz

This includes many bug fixes (most of them for obscure corner cases) and should be suitable for use with a plain 1.4 XNAT install. There is one change to note: the naming convention that DicomServer uses for files has changed slightly. The last component of the filename used to be the final 10 digits of the SOP Instance UID; it is now, instead, a short string (usually 6-8 alphanumeric characters) representing a hash of the SOP Class and SOP Instance UIDs, which ensures that different DICOM objects will get saved to different filenames even when they have common subsequences in their UIDs.

- Kevin

-----Original Message-----
From: xnat_di...@googlegroups.com [mailto:xnat_di...@googlegroups.com] On Behalf Of anda

Hi Kevin

********************
Dicom server log:

</properties>


etc etc


Archie, Kevin

unread,
Jun 16, 2010, 1:04:34 PM6/16/10
to xnat_di...@googlegroups.com
A postscript to the previous message: if you must have the old filename convention, it's possible to set that up in the DicomServer config file. Ask me how if you're interested, and if nobody asks me, then I'll know that nobody was attached to the old format.
Reply all
Reply to author
Forward
0 new messages