LOAD DATA INFILE INSERTs not registered by the transaction log

Bug #600795 reported by Patrick Crews
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Drizzle
Fix Released
Medium
David Shrewsbury
Dexter
Fix Released
Medium
David Shrewsbury

Bug Description

The transaction log does not appear to be capturing INSERTs from LOAD DATA INFILE operations.

From the test transaction_log_loaddata.test, these queries:

./test-run --suite=transaction_log transaction_log_loaddata

--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings

CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b CHAR(50), PRIMARY KEY(a) );
LOAD DATA INFILE '../std_data_ln/translogloaddata.dat' into table t1 ;
--source ../plugin/transaction_log/tests/t/check_transaction_log.inc
--echo

DROP TABLE t1;

Result in this data in t1:
SELECT * FROM t1;
a b
1 abbazabba
2 my_only_friend

However, only the CREATE TABLE t1 statement is logged.

This may not be a bug, but it seems that adding data to a table by any means should be logged.

Related branches

Changed in drizzle:
assignee: nobody → David Shrewsbury (dshrews)
importance: Undecided → Medium
Revision history for this message
David Shrewsbury (dshrews) wrote :

Confirmed with revno 1712.

Revision history for this message
David Shrewsbury (dshrews) wrote :

I have a fix for this. It was made slightly more complicated by the fact that a LOAD DATA statement has the potential to create a large Transaction object (as large as the data being loaded).

To correct this, we will be introducing a new variable to set a transaction message size threshold. When this a Transaction message size exceeds this threshold, we will finalize the Transaction message and create a new one with the same transaction id. The end_segment variable for the Statements within the Transaction will be set to FALSE to indicate more data is to come.

Waiting for some changes to the system variables framework before I can commit my changes.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.