summaryrefslogtreecommitdiff
path: root/mysql-test/main/derived.result
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-05-25 18:57:14 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2020-05-25 18:57:14 +0300
commit5530a93f47324b847c799d00a2756729a2869d13 (patch)
treeddb822a88a29571e362ab715b0b051c6907b9c94 /mysql-test/main/derived.result
parente2c749380bc27a7af741c7eb607b4bccdf9429f1 (diff)
downloadmariadb-git-5530a93f47324b847c799d00a2756729a2869d13.tar.gz
MDEV-17092 use-after-poison around lock_trx_handle_wait_low
There was a race condition where the connection of the victim of a KILL statement is disconnected while the KILL statement is executing. As a side effect of this fix, we will make XA PREPARE transactions immune to KILL statements. Starting with MariaDB 10.2, we have a pool of trx_t objects. trx_free() would only free memory to the pool. We poison the contents of freed objects in the pool in order to catch misuse. trx_free(): Unpoison also trx->mysql_thd and trx->state. This is to counter the poisoning of *trx in trx_pools->mem_free(). Unpoison only on AddressSanitizer or Valgrind, but not on MemorySanitizer. Pool: Unpoison allocated objects only on AddressSanitizer or Valgrind, but not on MemorySanitizer. innobase_kill_query(): Properly protect trx, acquiring also trx_sys_t::mutex and checking trx_t::mysql_thd and trx_t::state.
Diffstat (limited to 'mysql-test/main/derived.result')
0 files changed, 0 insertions, 0 deletions