[MDEV-6497] InnoDB deadlocks on UNINSTALL PLUGIN Created: 2014-07-28 Updated: 2014-07-29 Resolved: 2014-07-29 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 5.5.38, 10.0.12 |
| Fix Version/s: | 5.5.39, 10.0.13 |
| Type: | Bug | Priority: | Major |
| Reporter: | Sergei Golubchik | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
On shutdown InnoDB waits for all trx structures to be freed. A trx structure is typically freed when a client disconnects. So, on UNINSTALL PLUGIN InnoDB waits for all trx to be freed, and if the current connection (the one running UNINSTALL) has allocated a trx, it can never be freed. InnoDB needs to free the current connection trx (if any) on shutdown. |
| Comments |
| Comment by Sergei Golubchik [ 2014-07-28 ] | |||||||||||||||||
|
jplindst, please review the following patch:
| |||||||||||||||||
| Comment by Jan Lindström (Inactive) [ 2014-07-28 ] | |||||||||||||||||
|
Hi, Only one style comment, InnoDB always uses brackets on if i.e + if (trx) { + trx_free_for_mysql(trx); + }please check also XtraDB. Ok to push with these changes. |