lp:~laurynas-biveinis/percona-server/bug1204871

Created by Laurynas Biveinis on 2014-01-06 and last modified on 2014-01-06
Get this branch:
bzr branch lp:~laurynas-biveinis/percona-server/bug1204871
Only Laurynas Biveinis can upload to this branch. If you are Laurynas Biveinis please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

527. By Laurynas Biveinis on 2014-01-06

Fix bug 1204871 (abort in ha_partition::end_bulk_insert |
sql/ha_partition.cc:4438: virtual int ha_partition::end_bulk_insert():
Assertion `0' failed. (sig6)) /
http://bugs.mysql.com/bug.php?id=71270.

A debug server build will crash if, while performing a bulk insert to
a partitioned table, one of the partitions will return a failure for
end_bulk_insert handler call.

The crash happens because the failing ha_partition::end_bulk_insert()
call will clear the m_bulk_insert_started bitmap before returning the
failure to the caller. The caller will handle the failure, and at one
point it will call select_insert::abort_result_set(), which will
attempt end_bulk_insert again, which will hit DBUG_ASSERT(0) because
m_bulk_insert_started is cleared.

Fix by resetting THD::bulk_insert_started_flag on end bulk insert
handler calls. Add a error-injecting testcase
parts/partition_bug71270 testcase.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-server/5.6
This branch contains Public information 
Everyone can see this information.