mirror of
https://github.com/MariaDB/server.git
synced 2026-05-17 20:37:12 +02:00
The reason for the crash was that two tables where updating Aria's TRN->used_instances at the same time. This could happen when a thread started a sub transaction with Aria tables, like reading a stored procedure from the proc table, at the same time another table was clearing the table list after committing a transaction involving Aria tables. The timing window for this to happen is very small, which is why we did not notice this issue for 5 years. The fix was to change reset_thd_trn() to clear the table links directly, instead of calling _ma_reset_trn_for_table() which removed the table from the linked list, which included updating TRN->used_instances. This bug could happen when maria_commit or maria_rollback() where called but not in ha_maria::implicit_commit() which had already a fix for this problem. Other things: - Removed duplicate call to thd_set_ha_data(thd, maria_hton, trn) in ha_maria::implicit_commit() and maria_commit() when TRN is null. |
||
|---|---|---|
| .. | ||
| archive | ||
| blackhole | ||
| columnstore | ||
| connect | ||
| csv | ||
| example | ||
| federated | ||
| federatedx | ||
| heap | ||
| innobase | ||
| maria | ||
| mroonga | ||
| myisam | ||
| myisammrg | ||
| oqgraph | ||
| perfschema | ||
| rocksdb | ||
| sequence | ||
| sphinx | ||
| spider | ||
| test_sql_discovery | ||