mirror of
https://github.com/MariaDB/server.git
synced 2025-12-13 20:03:16 +03:00
corruption on ADD PARTITION and LOCK TABLE
Bug#53770: Server crash at handler.cc:2076 on
LOAD DATA after timed out COALESCE PARTITION
5.5 fix for:
Bug#51042: REORGANIZE PARTITION can leave table in an
inconsistent state in case of crash
Needs to be back-ported to 5.1
5.5 fix for:
Bug#50418: DROP PARTITION does not interact with
transactions
Main problem was non-persistent operations done
before meta-data lock was taken (53770+53676).
And 53676 needed to keep the table/partitions opened and locked
while copying the data to the new partitions.
Also added thorough tests to spot some additional bugs
in the ddl_log code, which could result in bad state
between the .frm and partitions.
Collapsed patch, includes all fixes required from the reviewers.
31 lines
1.3 KiB
PHP
31 lines
1.3 KiB
PHP
# To be used with partition mgm commands like
|
|
# ALTER TABLE t1 DROP PARTITION.
|
|
--echo # Error recovery DROP PARTITION
|
|
SET SESSION debug="+d,fail_drop_partition_1";
|
|
--source suite/parts/inc/partition_fail.inc
|
|
SET SESSION debug="-d,fail_drop_partition_1";
|
|
SET SESSION debug="+d,fail_drop_partition_2";
|
|
--source suite/parts/inc/partition_fail.inc
|
|
SET SESSION debug="-d,fail_drop_partition_2";
|
|
SET SESSION debug="+d,fail_drop_partition_3";
|
|
--source suite/parts/inc/partition_fail.inc
|
|
SET SESSION debug="-d,fail_drop_partition_3";
|
|
SET SESSION debug="+d,fail_drop_partition_4";
|
|
--source suite/parts/inc/partition_fail.inc
|
|
SET SESSION debug="-d,fail_drop_partition_4";
|
|
SET SESSION debug="+d,fail_drop_partition_5";
|
|
--source suite/parts/inc/partition_fail.inc
|
|
SET SESSION debug="-d,fail_drop_partition_5";
|
|
SET SESSION debug="+d,fail_drop_partition_6";
|
|
--source suite/parts/inc/partition_fail.inc
|
|
SET SESSION debug="-d,fail_drop_partition_6";
|
|
SET SESSION debug="+d,fail_drop_partition_7";
|
|
--source suite/parts/inc/partition_fail.inc
|
|
SET SESSION debug="-d,fail_drop_partition_7";
|
|
SET SESSION debug="+d,fail_drop_partition_8";
|
|
--source suite/parts/inc/partition_fail.inc
|
|
SET SESSION debug="-d,fail_drop_partition_8";
|
|
SET SESSION debug="+d,fail_drop_partition_9";
|
|
--source suite/parts/inc/partition_fail.inc
|
|
SET SESSION debug="-d,fail_drop_partition_9";
|