[MDEV-9650] server stall on sync index (insert into large innodb table with fulltext index) Created: 2016-02-28 Updated: 2016-10-25 Resolved: 2016-10-25 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB, Storage Engine - XtraDB |
| Affects Version/s: | 10.0, 10.1 |
| Fix Version/s: | 10.0.28, 10.1.19 |
| Type: | Bug | Priority: | Critical |
| Reporter: | David Schnall | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | upstream-fixed | ||
| Environment: |
linux |
||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Sprint: | 10.0.26 | ||||||||||||
| Description |
|
I encounter exactly the same issue as described in this mysql bug As mariadb doesn't have the parameter binlog_order_commits the only workaround found so far was to disable binary logging. |
| Comments |
| Comment by Elena Stepanova [ 2016-02-29 ] | |||||||||||||||||||||||||||||
|
Since the fix is in InnoDB, it should be pulled to MariaDB automatically with the merge of InnoDB 5.6.30 (and XtraDB, when the fix comes through Percona). | |||||||||||||||||||||||||||||
| Comment by David Schnall [ 2016-05-27 ] | |||||||||||||||||||||||||||||
|
I just installed version 10.0.25 (which should have pulled the updates done for mysql 5.6.30) but issue is not solved on mariadb. Turning binlog on stalls the server the same way as before on inserts into large innodb table with a FTS index) bugfix release 5.6.30 (https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-30.html) | |||||||||||||||||||||||||||||
| Comment by David Schnall [ 2016-09-08 ] | |||||||||||||||||||||||||||||
|
It was fixed in 10.0.26 but it seems that 10.0.27 broke it again. It looks like there is a deadlock. Attaching innodb status log during lock. I will downgrade again to 10.0.26 to fix it innodb_status_2016-09-08_0929.txt | |||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-09-09 ] | |||||||||||||||||||||||||||||
|
Thanks for the update. Then, it re-appeared in 5.6.31, innodb_fts.sync test causes there an assertion failure. It happened after this commit:
Then, it was fixed again in 5.6.32, by this commit:
MariaDB 10.0 now has InnoDB plugin 5.6.32, so it should be okay; but XtraDB (which is default InnoDB) is still of 5.6.31, hence the problem. Normally we wouldn't re-open a closed bug, but create a new one instead; but in this particular case, since the report did not show up anywhere in git history or the change log, it should be safe to re-open. | |||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-09-09 ] | |||||||||||||||||||||||||||||
|
Additionally, please check why innodb_fts.sync test didn't make it to our tree. While innodb_fts.block_sync is not applicable because it uses a variable which is not in MariaDB, innodb_fts.sync seems to run fine on MariaDB (unless it crashes, I mean). The test has been attached to the issue for convenience (sync.test). I didn't change anything in it, just took it as is from MySQL 5.6 (maybe not the latest version).
|