innodb_fake_changes doesn't handle duplicate keys on REPLACE

Bug #898306 reported by Mark Callaghan
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
High
Laurynas Biveinis
5.1
Fix Released
High
Valentine Gostev
5.5
Fix Released
High
Laurynas Biveinis

Bug Description

in sql_insert.cc:write_record() this is done for REPLACE:
1) try insert
2) if insert fails then do delete and goto #1

When innodb_fake_changes is enabled this gets into an infinite loop.

I attached a patch that applies clean to mysql 5.1.52 + facebook patch. It includes a test case. But I am not sure if Percona likes to modify handler.h.

Tags: contribution

Related branches

Revision history for this message
Mark Callaghan (mdcallag) wrote :
Changed in percona-server:
assignee: nobody → Valentine Gostev (longbow)
Revision history for this message
Valentine Gostev (longbow) wrote :
Revision history for this message
Valentine Gostev (longbow) wrote :

Reproduced.
also REPLACE does not work even after innodb_fake_changes is disabled. Works without innodb_fake_changes enabled after forced restart (SIGKILL)

Changed in percona-server:
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Alexey Kopytov (akopytov) wrote :

Why is not targeted to any 5.5 milestone? We have a fix, why not fix it in 5.1.61?

Revision history for this message
Alexey Kopytov (akopytov) wrote :

Er, I mean 5.5.20-24.1.

tags: added: contribution
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-516

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.