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/
