Re: question about locks with optimize table
Michael Widenius <[email protected]>
| Newsgroups | gmane.comp.db.mysql.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi! >>>>> "Zardosht" == Zardosht Kasheff <[email protected]> writes: Zardosht> How can a storage engine allow access to a table by other clients while an Zardosht> optimize is running? Zardosht> I think the issue here is that even if the storage Zardosht> engine could theoretically allow access to the table by other clients while Zardosht> running an optimize, there is no way for the storage engine to tell MySQL Zardosht> that this is ok. Setting the lock type to TL_WRITE_ALLOW_WRITE in Zardosht> handler::store_lock does not work By doing it either of these ways: - Return at once from handler::optimize() and then run optimize in the background in the storage engine. - Change mysql_admin_table() to check for 'table->lock_type' instead of 'lock_type' in the code. This should allow the storage engine to change to use TL_WRITE_ALLOW_WRITE in handler::store_lock(). Please check if the later works for you, in which case I will do the above change in MariaDB. Regards, Monty -- MySQL Internals Mailing List For list archives: http://lists.mysql.com/internals To unsubscribe: http://lists.mysql.com/internals