[
https://issues.apache.org/activemq/browse/AMQ-1263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Strachan resolved AMQ-1263.
---------------------------------
Resolution: Fixed
Fix Version/s: 5.0.0
Patch applied with thanks!
> JDBC Master/Slave: After database failure, stale db connections are reused in
> DefaultdatabaseLocker
> ---------------------------------------------------------------------------------------------------
>
> Key: AMQ-1263
> URL: https://issues.apache.org/activemq/browse/AMQ-1263
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.x
> Environment: Linux x86, Postgresql 8.1
> Reporter: Eric Anderson
> Fix For: 5.0.0
>
> Attachments: patch.txt
>
>
> Start two brokers in a JDBC master/slave configuration. One will become
> master, the other slave.
> Shutdown the database.
> The slave will immediately begin emitting emitting database connection
> exceptions messages from the DefaultdatabaseLocker.
> Bring up the database again.
> The slave continues to emit database error messages and all subsequent
> attempts by the DefaultdatabaseLocker to issue its locking query will fail.
> The problem is that the DefaultdatabaseLocker grabs one db connection at
> startup and never releases it. Therefore unless the JDBC connection has an
> auto-reconnect feature, the slave broker is dead in the water, because its
> Connection is bad. The fix is to allocate a new Connection and
> PreparedStatement on every iteration of the database locker loop, and free
> the statement/connection on any Exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.