| Bug #48128 | unexpected lock timeout while selecting from innodb table | ||
|---|---|---|---|
| Submitted: | 17 Oct 2009 5:18 | Modified: | 17 Oct 2009 7:42 |
| Reporter: | A Ramos | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | MySQL Server: Locking | Severity: | S5 (Performance) |
| Version: | 5.0.67 | OS: | Linux (Ubuntu build) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | innodb, locking | ||
[17 Oct 2009 5:18]
A Ramos
[17 Oct 2009 7:42]
Valeriy Kravchuk
This is clearly documented in the manual, http://dev.mysql.com/doc/refman/5.0/en/innodb-locks-set.html: "If innodb_locks_unsafe_for_binlog is enabled and the transaction isolation level is not SERIALIZABLE, InnoDB does the search on S as a consistent read (no locks). Otherwise, InnoDB sets shared next-key locks on rows from S. InnoDB has to set locks in the latter case: In roll-forward recovery from a backup, every SQL statement must be executed in exactly the same way it was done originally. CREATE TABLE ... SELECT ... performs the SELECT with shared next-key locks or as a consistent read, as for INSERT ... SELECT. " Check the value of innodb_locks_unsafe_for_binlog in your case.
