Author: jbellis Date: Fri Sep 16 19:11:41 2011 New Revision: 1171737 URL: http://svn.apache.org/viewvc?rev=1171737&view=rev Log: Kill server on wrapped OOME such as from FileChannel.map patch by jbellis; reviewed by slebresne for CASSANDRA-3201
Modified: cassandra/branches/cassandra-0.8/CHANGES.txt cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java Modified: cassandra/branches/cassandra-0.8/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1171737&r1=1171736&r2=1171737&view=diff ============================================================================== --- cassandra/branches/cassandra-0.8/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Sep 16 19:11:41 2011 @@ -1,3 +1,7 @@ +0.8.7 + * Kill server on wrapped OOME such as from FileChannel.map (CASSANDRA-3201) + + 0.8.6 * revert CASSANDRA-2388 * change TokenRange.endpoints back to listen/broadcast address to match Modified: cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java?rev=1171737&r1=1171736&r2=1171737&view=diff ============================================================================== --- cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java (original) +++ cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java Fri Sep 16 19:11:41 2011 @@ -137,9 +137,11 @@ public abstract class AbstractCassandraD { exceptions.incrementAndGet(); logger.error("Fatal exception in thread " + t, e); - if (e instanceof OutOfMemoryError) + for (Throwable e2 = e; e2 != null; e2 = e2.getCause()) { - System.exit(100); + // some code, like FileChannel.map, will wrap an OutOfMemoryError in another exception + if (e2 instanceof OutOfMemoryError) + System.exit(100); } } });