[MDEV-13754] TRANSACTION sometimes stay in "KILLLED' STATE for inifinitve time! Created: 2017-09-07 Updated: 2020-08-28 Resolved: 2020-08-28 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | OTHER |
| Affects Version/s: | 10.2.8 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | novid | Assignee: | Unassigned |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | need_feedback | ||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Description |
|
Hi dudes, after upgrade from mariadb 10.1 to 10.2.8, some simple transaction is running for infinitive times...
I have 19 transaction that is running for this time they won't die with kill command..
and with SHOW ENGINE INNODB STATUS\G
changing in these transaction is so small (2 or 3) so waiting is not for transaction rollback. Thread stay in killed state and so some record is lock for infinitive time |
| Comments |
| Comment by Elena Stepanova [ 2017-09-07 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Is there anything in the error log – errors, warnings, maybe even unusual notes? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by novid [ 2017-09-08 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Some transactions randomly run for infinitive time... and lock some rows for infinitive time At syslog , I got this errors when application access to rows that is locked.
I got more information from innodb status
before killing transaction
after killing the transactions, their status is changed from “Execute” to “Killed” but the rows are still locked
To fix this problem, I have to restart mariadb every midnight, after restart I got these alarms at syslog
my config is attached | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by novid [ 2017-09-19 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I change many parameters these days without any successfully! transaction-isolation = READ-COMMITTED The only solution at mariadb 10.2 for rollback transaction is restarting server at midnight :| after that all transactions Rollback successfully... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2017-10-01 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
So, the problem starts even before you attempt to kill threads, the queries are already hanging. The InnoDB status appears to be truncated, could you please attach the full output? Does it always happen on INSERTs? You didn't say if you have checked the disk space and possible disk errors, if you haven't yet, please do. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by novid [ 2017-10-02 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi dude, thanks for the response, We've just upgraded to mariadb 10.2.9 but the problem still exist. yes, the problem starts before I attempt to kill them. The problem has occurred on two tables and it's happen on Inserts and updates . That is the second time we've changed our logic codes, but we can't fix the problem. we've just moved to servers with 8 ssds (have been raid10 with physical raid controller) and 256 GB memory. the past server had hdd storages. unfortunately we experience the problems on two both of them and the main point is that we've never seen any problem on mariadb 10.1 and another point is that we've just seen the problem on two tables. so I think so the problem's came from mariadb 10.2 We've never had backup from database (I've got from slave) or we never can't stop mysql, after running systemctl stop mysql, I'm waiting for flushing dirty pages to disk and then I run kill -9 mysql! I'm attaching two files now , gdb's output before I kill transactions and then after kill them. before.gdb I'll send three files for you at midnight, gdb's output before restart and after restart and innodb status. please waiting for them. I add them.. before-restart.gdb After 42003 seconds from restarting mysql server, we've had 10 locked transactions. I've attached gdb's output after 42003 seconds and before killing them. 42003.gdb I've attached gdb's output after 43205 seconds and after killing them. 43205.gdb I've hoped to see this new commit. does this commit solve our problem? is there any way for testing it? thanks a lot. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2020-07-31 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I stumbled upon this ticket while searching for something else. I would guess that the reported problem was fixed under |