Bug #2714 DELAY_KEY_WITE=1 does not work with --enable-locking
Submitted: 11 Feb 2004 13:40 Modified: 5 Mar 2004 0:08
Reporter: Peter Zaitsev (Basic Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: MyISAM storage engine Severity:S3 (Non-critical)
Version:4.0 OS:Any (all)
Assigned to: Ingo Strüwing CPU Architecture:Any

[11 Feb 2004 13:40] Peter Zaitsev
Description:
If 2 MySQL are running in --external-locking mode and sharing the same database,
creating table with delay_key_writes=1 or using --delay-key-write-for-all-tables
results in wrong results:

How to repeat:
MySQLServer1:

mysql> CREATE TABLE `lockingtest` (
    ->   `i` int(10) unsigned NOT NULL default '0',
    ->   PRIMARY KEY  (`i`)
    -> ) TYPE=MyISAM DELAY_KEY_WRITE=1;
Query OK, 0 rows affected (0.10 sec)

mysql> insert into lockingtest values (1);
Query OK, 1 row affected (0.00 sec)

mysql> insert into lockingtest values (2);
Query OK, 1 row affected (0.00 sec)

MySQLServer2:

mysql> select * from lockingtest;
ERROR 1034: Incorrect key file for table: 'lockingtest'. Try to repair it
[5 Mar 2004 0:08] Michael Widenius
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:

Expected behaviour;  You can't share tables that are used with --delayed-key-write

I have now updated the documentation regarding this.