activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kenny MacLeod (JIRA)" <>
Subject [jira] Created: (AMQ-1309) [DefaultDatabaseLocker] Do not log full stack trace when lock cannot be obtained
Date Wed, 04 Jul 2007 11:40:34 GMT
[DefaultDatabaseLocker] Do not log full stack trace when lock cannot be obtained

                 Key: AMQ-1309
             Project: ActiveMQ
          Issue Type: Improvement
          Components: Message Store
    Affects Versions: 4.1.0
            Reporter: Kenny MacLeod

In DefaultDatabaseLocker.start(), the locking mechanism uses a continuous retry to obtain
the lock.  When a given try fails (e.g. because of a lock timeout), then the full exception
stack trace is logged.  For long-running slave brokers, this results is large, noisy log files
full of stack traces, for a condition which is in fact non-exceptional.

I suggest that this logging is reduced to log just the exception message:

log.error("Failed to acquire lock: " + e.getMessage();

Better yet, use Spring's SQLErrorCodeSQLExceptionTranslator to translate the "cannot acquire
lock" SQLException into a CannotAcquireLockException, and catch that explicitly in DefaultDatabaseLocker.
 Then you can just log a message saying "couldn't acquire lock, retrying".  Any other exception
type can log the full stack trace as before.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message