Below is a reply from Donal Fellows sent to Gareth:

-- 
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester
http://soiland-reyes.com/stian/work/ http://orcid.org/0000-0001-9842-9718



---------- Forwarded message ----------
From: Donal K. Fellows <[email protected]>
Date: 31 July 2013 09:46
Subject: Re: Fwd: [Taverna-users] Taverna Server, Problem Accessing
Workflow Output Files
To: Gareth Smith <[email protected]>
Cc: Stian Soiland-Reyes <[email protected]>


On 31/07/2013 08:17, Gareth Smith wrote:
>
> My development machine is a laptop accessing the network via Wifi.
> I went to a meeting, the machine went into a hibernate mode.
> When I came back the server stopped worked.


Ah. Change of IP address preventing the back-end processes from being
contacted. Yes, that would cause all sorts of problems. (The other
candidate for trouble-causing was the OS deciding to clean up /tmp and
culling the working directory out from underneath the TavServ back-end.)


> According to the taverna-users mailing list archive, Taverna 'JRMP' as
> a network object management protocol.
> This involving some IP address caching.
> If a machine is reassigned an IP via Wifi, Taverna stops working.
> When developing on a laptop, you have to remember to stop the host
> from hibernating.
> I've only ever worked with Tomcat on servers with a static IP address
> so I never thought of that one as an issue.


JRMP (Java Remote Method Protocol) is the basis for communication
between the front-end web-application and the per-user processes used to
do file access. (You might know it better as Java RMI.) Alas, the JRMP
implementation likes to bind in the IP address of the service port used
to access the remote object, and it strongly prefers to use an external
IP address. I thought I'd persuaded it to do otherwise, but I don't know
if that's in the version of the server you're using.

(For my benefit, which version of the server *are* you using?)

If the external IP address of the system changes, everything breaks
because the connection suddenly points off into the middle of nowhere.
Which sucks.


> A second issue with the Taverna server is the Tomcat container under
> Ubuntu is not shutting down cleanly if the server is stopped.
> The shutdown script spawns Java processes to send commands to the
> Taverna server process but the server process fails to stop.
> It leaves several Java processes still in memory.
> I do not know if that is a feature of the Taverna server or a bug.
>
> Under Windows, when you shutdown Tomcat, all Java processes stop.


It's a known *annoying* bug. I'm not quite sure what thread isn't
shutting down correctly; I've looked at a thread dump a few times, and
still haven't spotted what the issue is yet. Since it is only really an
issue with server development, fixing it isn't a high priority.

Killing the tomcat process usually works (unless you've run out of
PermGen space, which makes Java's signal handling fail; that's when a
'kill -9' is required).


> If you clean out the Taverna processes with a 'kill -9' on the PID,
> post a shutdown you get 100% Taverna up time.
> All of the 'output' files not available messages disappear.
> I do not know however if 'kill -9' at some point could corrupt the
> derby database or ongoing process locks.


Provided the process is quiescent, it seems fine. Or at least I've had
no problems with my testing. :-) The database ought to cope with having
the world destroyed under its feet — that's the whole *point* of using a
database — but I'm not entirely willing to trust the implementation of
Derby on this point; I've seen weird states (caused by other code
filling up the disk) where the database became completely corrupted. I
know there are demonstrably better embedded databases like SQLite, but
they have other critical problems from our perspective (i.e., they use a
native library, which I'm trying to avoid).

Donal.

------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
taverna-users mailing list
[email protected]
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/about/contact-us/

Reply via email to