Commit graph

5 commits

Author SHA1 Message Date
mats@romeo.(none)
792f01356a Fixing test case and result file for rpl_ndb_circular_simplex. 2007-04-17 08:36:14 +02:00
mats@romeo.(none)
6aee6e29c0 Updating tests to eliminate some sporadic non-critical failures. 2007-04-16 15:52:56 +02:00
mats@romeo.(none)
75c1242de8 Fixing result file 2007-04-13 10:38:34 +02:00
mats@romeo.(none)
785bca21e0 BUG#25688 (RBR: circular replication may cause STMT_END_F flags to
be skipped):

Fixing test since a replace assumed that we were on slave when we were
on master.
2007-04-12 14:14:50 +02:00
mats@romeo.(none)
11fc24ef24 BUG#25688 (RBR: circular replication may cause STMT_END_F flags to be
skipped):

By moving statement end actions from Rows_log_event::do_apply_event() to
Rows_log_event::do_update_pos() they will always be executed, even if
Rows_log_event::do_apply_event() is skipped because the event originated
at the same server. This because Rows_log_event::do_update_pos() is always
executed (unless Rows_log_event::do_apply_event() failed with an error,
in which case the slave stops with an error anyway). 

Adding test case.

Fixing logic to detect if inside a group. If a rotate event occured
when an initial prefix of events for a statement, but for which the
table did contain a key, last_event_start_time is set to zero, causing
rotate to end the group but without unlocking any tables. This left a
lock hanging around, which subsequently triggered an assertion when a
second attempt was made to lock the same sequence of tables.

In order to solve the above problem, a new flag was added to the relay
log info structure that is used to indicate that the replication thread
is currently executing a statement. Using this flag, the replication
thread is in a group if it is either in a statement or inside a trans-
action.

The patch also eliminates some gratuitous header file inclusions that
were not needed (and caused compile errors) and replaced them with
forward definitions.
2007-04-12 08:58:04 +02:00