You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2011/07/09 22:57:59 UTC

[jira] [Closed] (AMQ-1309) [DefaultDatabaseLocker] Do not log full stack trace when lock cannot be obtained

     [ https://issues.apache.org/jira/browse/AMQ-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish closed AMQ-1309.
-----------------------------

       Resolution: Won't Fix
    Fix Version/s:     (was: NEEDS_REVIEWED)
                   AGING_TO_DIE

OBE.  4.x is EOL

> [DefaultDatabaseLocker] Do not log full stack trace when lock cannot be obtained
> --------------------------------------------------------------------------------
>
>                 Key: AMQ-1309
>                 URL: https://issues.apache.org/jira/browse/AMQ-1309
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: Message Store
>    Affects Versions: 4.1.0
>            Reporter: Kenny MacLeod
>             Fix For: AGING_TO_DIE
>
>
> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira