1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

BUG#29806 - binlog_innodb.test creates a server log

Stopping mysql server could result in an entry in mysql error
file: "InnoDB: Error: MySQL is freeing a thd".

This happened because InnoDB assumes that the server will never
call external_lock(F_UNLCK) in case external_lock(READ/WRITE)
failed.

Prior to this patch we haven't had strict definition whether
external_lock(F_UNLCK) must be called in case external_lock(READ/WRITE)
fails.

This patch states that we never call external_lock(F_UNLCK) in case
external_lock(READ/WRITE) fails.


mysql-test/suite/binlog/t/disabled.def:
  Re-enabled binlog_innodb and binlog_killed tests.
sql/ha_ndbcluster.cc:
  Restore handler state in case external_lock() failed.
sql/ha_partition.cc:
  Do not call external_lock(F_UNLCK) in case external_lock(READ/WRITE) failed.
sql/lock.cc:
  Do not call external_lock(F_UNLCK) in case external_lock(READ/WRITE) failed.
storage/myisammrg/myrg_locking.c:
  Restore handler state in case external_lock() failed.
This commit is contained in:
unknown
2007-07-25 19:56:17 +05:00
parent 363a2f765c
commit 4537a0c9e9
5 changed files with 35 additions and 5 deletions

View File

@ -9,6 +9,3 @@
# Do not use any TAB characters for whitespace.
#
##############################################################################
binlog_innodb : Bug#29806 2007-07-15 ingo master.err: InnoDB: Error: MySQL is freeing a thd
binlog_killed : Bug#29806 2007-07-17 ingo master.err: InnoDB: Error: MySQL is freeing a thd