activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kenny MacLeod (JIRA)" <j...@apache.org>
Subject [jira] Reopened: (AMQ-992) MySQL doesn't honor lock in JDBC Master Slave configuration?
Date Wed, 04 Jul 2007 18:40:34 GMT

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

Kenny MacLeod reopened AMQ-992:
-------------------------------


I'm re-opening this issue because it may be that the fix was unnecessary.  In MySQL, SELECT
FOR UPDATE only works with InnoDB tables.  The default table type in MySQL - MyISAM - does
not support SELECT FOR UPDATE - it executes the select, but doesn't hold the lock, resulting
in Steven's problem.  There's no need for specific MySQL behaviour here.

However, when it comes to creating the tables, MySQL will create the table according to the
server's default table type, which is MyISAM unless specific in MySQL's startup config.  Ideally,
ActiveMQ would specify InnoDB in the CREATE TABLE clause.

> MySQL doesn't honor lock in JDBC Master Slave configuration?
> ------------------------------------------------------------
>
>                 Key: AMQ-992
>                 URL: https://issues.apache.org/activemq/browse/AMQ-992
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 4.1.0
>         Environment: RHEL 4
> MySQL 4.x, 5.x
> mysql-ab_jdbc_driver
>            Reporter: Steven Lotito
>             Fix For: 4.1.1, 5.0.0
>
>         Attachments: mysql_obtain_lock.txt
>
>
> I have been attempting to get the new 4.1 JDBC Master Slave configuration working with
MySQL.
> The log from the first broker to start up states:
> 2006-10-18 09:35:08,558 [main           ] INFO  DefaultDatabaseLocker          - Attempting
to acquire the exclusive lock to become the Master broker
> 2006-10-18 09:35:08,559 [main           ] INFO  DefaultDatabaseLocker          - Becoming
the master on dataSource: org.apache.commons.dbcp.BasicDataSource@136d9d8
> The 2nd broker to start up has an identical message and both brokers listen for connections.
> The 2nd broker should be waiting for the lock and NOT accepting connections, if I understand
http://www.activemq.org/site/jdbc-master-slave.html correctly...
> Oracle exhibits the expected behavior:
> When running the exact same configuration (except using an Oracle datasource), the first
broker has the same log message as above,  while the 2nd broker halts at the "Attempting to
acquire the exclusive lock to become the Master broker" message until I fail the master. 
Then it becomes the master.
> Is this a known issue?  I was able to replicate it using both MySql 4 and 5 (trying both
the MySQL Connector/J 3.1 and MySQL Connector/J 5.0 drivers)

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


Mime
View raw message