Iain, Most backup software I've seen does so much I/O, anything else running will be so severely starved for CPU it may confuse itself to death. Backup software does this on purpose to get the process over with as quick as possible. So, it may not affect an idle server process, but trying to do any kind of work while the backup is running is probably futile. You can see this by being around when the backup is running. I don't think there is a reliable way to lower the priority of the backup process on nt/2000 unless the software itself has an option for it.
You probably need to setup a hot backup arrangement that pulls the data out of the database and writes it to another machine acting as a staging area for going to tape. If you have other stuff on the server that needs to be backed up and you run 24x7, you will need to make other arrangements to back that data up. Chuck -----Original Message----- From: Iain Sanderson [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2003 9:32 AM To: [EMAIL PROTECTED] Subject: Tomcat unstable - Dr. Watson. Why? Hello, Tomcat is crashing on my application server when my database server is busy with a running backup, which is every night from 12am to 7am ( 80 Gb). I'm running Tomcat 4.22 on Windows NT sp6 using the Java 1.41 VM as a service with the -Xxms256m -Xxmx256m switches set in the registry for the VM. (This is the same as setting these options in Catalina Opts when you're not running Tomcat as a service). Tomcat.exe is throwing a Dr. Watson error "Application exception occurred: App: (pid=603) ----->which is tomcat.exe When: 4/3/2003 @ 1:45:16.203 Exception number: c0000005 (access violation) " There is no information in Tomcat's logs at all. Windows just shuts down the Tomcat service. Tomcat remains unstable like this as long as my database server ( a different and very powerful box) is backing up. Here are some clues:- a) This instability is cured by enabling incremental garbage collection ( -Xincgc JVM switch), but performance reduces by 300%. Our SQL queries on the server are large ( Operating room schedules etc. Queries take 0.15 to 0.2 seconds, but page refreshes in Tomcat 5-6 seconds, which is acceptable. With incremental GC this increases to 17 seconds, which is not.) I'm sure the problem is due to database connections, but I can't fault my code. I'm using Tomcat's JNDI datasource pool (commons DBCP), set in server.xml. I have been very careful to close all my connections using the following code straight out of Tomcat's documentation (see below) Can anybody help? I've been chasing this for some time now and have lost most of my hair. Iain Below is datasource configuration from web-app context in server.xml and sample of database connection code. code. Connection conn = null; Statement stmt = null; // Or PreparedStatement if needed ResultSet rs = null; try { conn = ... get connection from connection pool ... stmt = conn.createStatement("select ..."); rs = stmt.executeQuery(); ... iterate through the result set ... rs.close(); rs = null; stmt.close(); stmt = null; conn.close(); // Return to connection pool conn = null; // Make sure we don't close it twice } catch (SQLException e) { ... deal with errors ... } finally { // Always make sure result sets and statements are closed, // and the connection is returned to the pool if (rs != null) { try { rs.close(); } catch (SQLException e) { ; } rs = null; } if (stmt != null) { try { stmt.close(); } catch (SQLException e) { ; } stmt = null; } if (conn != null) { try { conn.close(); } catch (SQLException e) { ; } conn = null; } } Server.xml Settings are:- <ResourceParams name="jdbc/saturn"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>maxActive</name> <value>100</value> </parameter> <parameter> <name>maxWait</name> <value>100000</value> </parameter> <parameter> <name>password</name> <value></value> </parameter> <parameter> <name>url</name> <value>jdbc:sybase:Tds:</value> </parameter> <parameter> <name>driverClassName</name> <value>com.sybase.jdbc2.jdbc.SybDriver</value> </parameter> <parameter> <name>maxIdle</name> <value>30</value> </parameter> <parameter> <name>username</name> <value></value> </parameter> <parameter> <name>removeAbandoned</name> <value>true</value> </parameter> <parameter> <name>removeAbandonedTimeout</name> <value>120</value> </parameter> <parameter> <name>logAbandoned</name> <value>false</value> </parameter> <parameter> <name>validationQuery</name> <value>SELECT * FROM "dev_team"."VersionInfo"</value> </parameter> </ResourceParams> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
