Unexpected exceptions' stacktraces can be lost
----------------------------------------------
Key: CASSANDRA-1462
URL: https://issues.apache.org/jira/browse/CASSANDRA-1462
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 0.6.5
Reporter: David King
o.a.c.thrift.Cassandra.login.process has a catch that looks like:
} catch (Throwable th) {
LOGGER.error("Internal error processing login", th);
TApplicationException x = new
TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error
processing login");
oprot.writeMessageBegin(new TMessage("login", TMessageType.EXCEPTION,
seqid));
x.write(oprot);
oprot.writeMessageEnd();
oprot.getTransport().flush();
return;
}
Unfortunately this loses vital debugging information as it loses the stack
trace associated with the exception. In particular it made tracking down the
source of this very difficult:
ERROR [pool-1-thread-9723] 2010-09-03 12:34:16,978 Cassandra.java (line 1659)
Internal error processing batch_mutate
java.lang.NullPointerException
ERROR [pool-1-thread-9556] 2010-09-03 12:34:17,031 Cassandra.java (line 1659)
Internal error processing batch_mutate
java.lang.NullPointerException
ERROR [pool-1-thread-9556] 2010-09-03 12:34:17,129 Cassandra.java (line 1659)
Internal error processing batch_mutate
java.lang.NullPointerException
ERROR [pool-1-thread-9794] 2010-09-03 12:34:17,190 Cassandra.java (line 1659)
Internal error processing batch_mutate
java.lang.NullPointerException
ERROR [pool-1-thread-9794] 2010-09-03 12:34:17,245 Cassandra.java (line 1659)
Internal error processing batch_mutate
java.lang.NullPointerException
ERROR [pool-1-thread-9794] 2010-09-03 12:34:17,285 Cassandra.java (line 1659)
Internal error processing batch_mutate
java.lang.NullPointerException
ERROR [pool-1-thread-9794] 2010-09-03 12:34:17,392 Cassandra.java (line 1659)
Internal error processing batch_mutate
java.lang.NullPointerException
I'd like to file a bug for that one too, but I have no idea what caused it :)
For reference, my log4j.properties:
log4j.rootLogger=INFO,stdout,R
# stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d{HH:mm:ss,SSS} %m%n
# rolling log file
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxFileSize=20MB
log4j.appender.file.maxBackupIndex=50
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%5p [%t] %d{ISO8601} %F (line %L) %m%n
# Edit the next line to point to your logs directory
log4j.appender.R.File=/cassandra/log/system.log
# Application logging options
#log4j.logger.com.facebook=DEBUG
#log4j.logger.com.facebook.infrastructure.gms=DEBUG
#log4j.logger.com.facebook.infrastructure.db=DEBUG
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.