Bug #15282 | MySQL Cluster can not behave in the right manner of READ-COMMITTED isolation le | ||
---|---|---|---|
Submitted: | 28 Nov 2005 7:51 | Modified: | 14 Dec 2005 17:28 |
Reporter: | Kenji Hirohama | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Documentation | Severity: | S1 (Critical) |
Version: | 5.0.15 | OS: | Asianux |
Assigned to: | Jon Stephens | CPU Architecture: | Any |
[28 Nov 2005 7:51]
Kenji Hirohama
[28 Nov 2005 8:48]
Valeriy Kravchuk
Thank you for a problem report. What result did you expected to get? READ_COMMITTED means that you can not read data that are changing. Your first session updated the row you are trying to read in the second session, and its transaction is not commited. So, it is locked, and after waiting for some time you got a message just about that. For me it looks like intended behaviour, that simply should be documented in the prominent place. Our documentation says nothing about the implementation of transaction support in MySQL Cluster...
[28 Nov 2005 8:54]
Kenji Hirohama
In my understanding, READ_COMMITTED means we don't wait for UPDATE statement at all and get the committed data. And, InnoDB behave so under READ COMMITTED isolation level. And, MySQL Cluster do so with simple table, like; create table xxx(a int, b int) type=ndb; According to the online manual, MySQL Cluster supports only READ_COMMITTED. http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-limitations.html
[29 Nov 2005 4:48]
Kenji Hirohama
The same thing happened with the following table; CREATE TABLE `ken11` ( `i_id` int(11) NOT NULL default '0', `i_desc` text, PRIMARY KEY (`i_id`) ) ENGINE=ndbcluster So, we can re-state; "MySQL Cluster's behave will change if the table include text field."
[29 Nov 2005 11:13]
Pekka Nousiainen
If a select includes a blob then read-committed is converted to read with read-lock. This is to guarantee consistency since blob parts are read from another table.
[29 Nov 2005 12:28]
Kenji Hirohama
select doesn't include text or blob. the table includes text.
[30 Nov 2005 4:21]
Kenji Hirohama
Sorry, but would you please explain how and when blob parts are read from another table?
[14 Dec 2005 17:28]
Jon Stephens
Thank you for your bug report. This issue has been addressed in the documentation. The updated documentation will appear on our website shortly, and will be included in the next release of the relevant product(s). Additional info: k hirohama: With BLOBs, any portion over 255 bytes in length is stored in a separate table. AFAIK, this also applies to TEXT columns (and long VARCHARs in versions where these are supported). As for how this affects transactions, we are updating the documentation. You might also wish to discuss these issues on the Cluster mailing list.