[MDEV-4069] thd_wait_end does not called in some cases in buf_page_read_low in XtraDB engine Created: 2013-01-21  Updated: 2013-01-28  Resolved: 2013-01-21

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.28a
Fix Version/s: 5.5.29

Type: Bug Priority: Major
Reporter: Sergei Glushchenko Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: None


 Description   

in file storage/xtradb/buf/buf0rea.c, buf_read_page_low(),
thd_wait_begin() is called when synchronous is requested, however thd_wait_end() is not called in case of fil_io() returns error DB_TABLESPACE_DELETED.



 Comments   
Comment by Sergei Golubchik [ 2013-01-21 ]

Fixed. Thanks for looking into this!

By the way, the bug was introduced in the changeset with the comment "Only synchronous disk reads should use thd_wait_begin with THD_WAIT_DISKIO". You might want to consider doing something similar. Just a thought.

Comment by Laurynas Biveinis [ 2013-01-22 ]

Hi Sergei and Sergei -

> By the way, the bug was introduced in the changeset with the comment "Only synchronous disk reads should use thd_wait_begin with THD_WAIT_DISKIO". You might
> want to consider doing something similar. Just a thought.

Indeed, thanks. Sergei (Glushchenko), is this included in our TP port?

Comment by Sergei Glushchenko [ 2013-01-22 ]

Thank you guys! Sergei, Laurynas, we have it in threadpool port. Sergei, why that revision ("Only synchronous disk reads should use thd_wait_begin with THD_WAIT_DISKIO") fixes only XtraDB engine and keeps untouched InnoDB?

Comment by Vladislav Vaintroub [ 2013-01-22 ]

There is no technical reason not to change Innodb the same way. Generally, we did not change original Innodb much, for the sake of easy merges, and because running with non-builtin Xtradb but "vanilla" plugin Innodb instead in 5.5 is uncommon scenario. Most of our improvements were done with XtraDB in mind.

Comment by Sergei Glushchenko [ 2013-01-22 ]

I see. Thank you four your reply, Vladislav.

Comment by Laurynas Biveinis [ 2013-01-25 ]

Re. InnoDB, is there an Oracle bug report that thd_wait_begin/end should called only for sync reads? I searched around, but didn't find anything.

Comment by Sergei Golubchik [ 2013-01-25 ]

not that I know of. Most of the bug reports are now in the private Oracle bug database anyway.

Comment by Vladislav Vaintroub [ 2013-01-25 ]

I did not report it, if the question is about it - I would not be able to prove the bug without commercial version of MySQL anyway.

Comment by Laurynas Biveinis [ 2013-01-28 ]

Let's troll them and see what happens: http://bugs.mysql.com/bug.php?id=68197. In the best case it will reduce the XtraDB delta for us. Sergei Glushchenko, can you duplicate that bug for PS and link it to the threadpool MP?

Generated at Thu Feb 08 06:53:28 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.