[DefaultDatabaseLocker] Do not log full stack trace when lock cannot be obtained
--------------------------------------------------------------------------------
Key: AMQ-1309
URL: https://issues.apache.org/activemq/browse/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.