Commit graph

72 commits

Author SHA1 Message Date
Mats Kindahl
95833a74d0 Bug #40004 Replication failure with no PK + no indexes
In certain situations, a scan of the table will return the error
code HA_ERR_RECORD_DELETED, and this error code is not 
correctly caught in the Rows_log_event::find_row() function, which
causes an error to be returned for this case.

This patch fixes the problem by adding code to either ignore the
record and continuing with the next one, the the event of a table
scan, or change the error code to HA_ERR_KEY_NOT_FOUND, in the event
that a key lookup is attempted.
2008-10-20 20:50:08 +02:00
Patrick Crews
03b16815a7 Bug#39803 Test rpl.rpl_truncate_7ndb_2 failing
Fixed bad path in .test file
Moved test to suite/rpl_ndb (per Cluster QA)
Re-recorded .result file to updated expected results.
2008-09-15 15:13:43 -04:00
Georgi Kodinov
7f1734eb22 merged 5.1.29-rc into 5.1-bugteam 2008-09-10 12:44:21 +03:00
Mats Kindahl
565c4d2bb2 BUG#32709: Assertion failed: trx_data->empty(), file log.cc
Incremental fixes: updating a comment and fixing a result file.
2008-09-03 22:52:54 +02:00
Mats Kindahl
620a5faaf2 Updating result files for rpl_ndb test suite. 2008-09-03 12:27:01 +02:00
He Zhenxing
87b43cf0df Apply tomas's patch to fix rpl_row_basic.test, this can fix BUG#37884,
BUG#38369, enable rpl_row_basic_7ndb test
2008-08-12 17:09:36 +08:00
Gleb Shchepa
954fba4739 Fixed bug #37076: TIMESTAMP/DATETIME/DATE values are not
replicated correctly between machines with
                  mixed endiannes
2008-06-19 18:02:04 +05:00
mats@mats-laptop.(none)
c14426aefe Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-bugteam
into  mats-laptop.(none):/home/bk/b29020-mysql-5.1-rpl
2008-03-28 14:52:33 +01:00
mats@mats-laptop.(none)
c8c4500a98 BUG#29020 (Event results not correctly replicated to slave in RBR):
The bug allow multiple executing transactions working with non-transactional
to interfere with each others by interleaving the events of different trans-
actions.

Bug is fixed by writing non-transactional events to the transaction cache and
flushing the cache to the binary log at statement commit. To mimic the behavior
of normal statement-based replication, we flush the transaction cache in row-
based mode when there is no committed statements in the transaction cache,
which means we are committing the first one. This means that it will be written
to the binary log as a "mini-transaction" with just the rows for the statement.

Note that the changes here does not take effect when building the server with
HAVE_TRANSACTIONS set to false, but it is not clear if this was possible before
this patch either.

For row-based logging, we also have that when AUTOCOMMIT=1, the code now always
generates a BEGIN/COMMIT pair for single statements, or BEGIN/ROLLBACK pair in the
case of non-transactional changes in a statement that was rolled back. Note that
for the case where changes to a non-transactional table causes a rollback due
to error, the statement will now be logged with a BEGIN/ROLLBACK pair, even
though some changes has been committed to the non-transactional table.
2008-03-28 13:16:41 +01:00
aelkin/andrei@mysql1000.(none)
7d0a83ce1e Bug #22234 Extra Slave Col: Slave should stop on Error Field d of table
There was a failure in that show slave status displayed a wrong message
when slave stopped at processing a row event inserting to a default-less
column.

The problem seem to have ceased after recent fixes in rbr code.
However, the test was not updated to carry testing of the case commented-out.

Uncommenting and editing the test.
Notice, Bug#23907 is most probably a duplicate of this one.
2008-03-06 20:32:47 +02:00
tomas@poseidon.bredbandsbolaget.se
fe9ee5c7bf correct merge error 2008-02-14 00:02:25 +01:00
tomas@poseidon.bredbandsbolaget.se
be0324b005 correct manual merge 2008-02-13 23:10:47 +01:00
tomas@poseidon.ndb.mysql.com
f9a38a9e4e Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-rpl-merge
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
2008-02-13 12:36:57 +01:00
mkindahl@dl145h.mysql.com
b1fadc4cf9 The test rpl_row_charset and it dependent rpl_ndb_charset is
irrelevant to execute since the charset information does not
affect replication for row-based replication. The row-based
versions of the tests were removed, and the statement-based
version of the test was made executable by all three modes.

This involves removing any lines that causes the test to be
dependent on the contents of the binary log, and instead we
just check that the replication works as it should.
2008-02-13 11:37:06 +01:00
tomas@poseidon.ndb.mysql.com
832b498e72 Merge poseidon.ndb.mysql.com:/home/tomas/cge-5.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
2008-02-11 17:38:34 +01:00
tomas@poseidon.ndb.mysql.com
fe364e4c2d default changed not to run idempotent, but test requires it because of how ndb logs updates as write 2008-02-11 15:26:38 +01:00
tomas@poseidon.ndb.mysql.com
93e218990f correcting wrong test case 2008-02-11 15:06:07 +01:00
tomas@whalegate.ndb.mysql.com
7376f136e8 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
2008-02-06 16:16:49 +01:00
msvensson@pilot.mysql.com
638eb55307 Merge bk-internal:/home/bk/mysql-5.1-new-ndb
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-ndb
2008-02-06 14:38:08 +01:00
mkindahl@dl145h.mysql.com
07d38435ea Post-merge fixes to make tests pass. 2008-01-13 22:13:17 +01:00
mkindahl@dl145h.mysql.com
940ecc23c6 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2008-01-11 14:20:06 +01:00
mkindahl@dl145h.mysql.com
d801920c56 Post-merge fixes to make tests pass. 2008-01-11 13:25:26 +01:00
mats@capulet.kindahl.net
6e94fb84ae Post-merge fixes to make tests pass. 2008-01-09 12:55:04 +01:00
tomas@whalegate.ndb.mysql.com
24be420c23 Bug#32648 Test failure between NDB Cluster and other engines 2008-01-04 15:33:01 +01:00
sven@riska.(none)
a431962d32 fixed broken result file 2007-12-21 12:22:09 +01:00
sven@riska.(none)
8b6572d330 Fixed errors in pushbuild by updating test and result files. 2007-12-20 22:00:42 +01:00
msvensson@pilot.mysql.com
53f13ab6d3 Merge bk-internal:/home/bk/mysql-5.1-new-ndb
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-ndb
2007-12-20 10:12:56 +01:00
mkindahl@dl145h.mysql.com
bdea24f483 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2007-12-19 18:51:46 +01:00
sven@riska.(none)
ab396c1d09 BUG#26395: if crash during autocommit update to transactional table on master, slave fails
Now, every transaction (including autocommit transactions) starts with
a BEGIN and ends with a COMMIT/ROLLBACK in the binlog.
Added a test case, and updated lots of test case result files.
2007-12-14 14:40:45 +01:00
bar@bar.myoffice.izhnet.ru
02ef77d8df Merge mysql.com:/home/bar/mysql-work/mysql-5.1.b29562
into  mysql.com:/home/bar/mysql-work/mysql-5.1.b29562v2
2007-12-14 13:41:36 +04:00
aelkin@dl145j.mysql.com
ea68d51793 bug#31552 manual merge and post-make-test-run changes. 2007-12-12 20:12:29 +01:00
aelkin@dl145j.mysql.com
62d87757e3 Merge elkin@aelkin2.mysql.internal:MySQL/TEAM/FIXES/5.1/bug31609-conflict_detection
into  dl145j.mysql.com:/tmp/andrei/bug31552
2007-12-12 11:21:54 +01:00
aelkin/elkin@koti.dsl.inet.fi
d8d6db6f78 Bug#31552 Replication breaks when deleting rows from out-of-sync table
without PK
Bug#31609 Not all RBR slave errors reported as errors
bug#32468 delete rows event on a table with foreign key constraint fails

The first two bugs comprise idempotency issues.
First, there was no error code reported under conditions of the bug
description although the slave sql thread halted.
Second, executions were different with and without presence of prim key in
the table.
Third, there was no way to instruct the slave whether to ignore an error
and skip to the following event or to halt.
Fourth, there are handler errors which might happen due to idempotent
applying of binlog but those were not listed among the "idempotent" error
list.

All the named issues are addressed.
Wrt to the 3rd, there is the new global system variable, changeble at run
time, which controls the slave sql thread behaviour.
The new variable allows further extensions to mimic the sql_mode
session/global variable.
To address the 4th, the new bug#32468 had to be fixed as it was staying
in the way.
2007-12-12 12:14:59 +02:00
mskold/marty@mysql.com/quadfish.(none)
4f8101c863 Enabled test rpl_ndb_ddl 2007-12-11 11:51:14 +01:00
tomas@whalegate.ndb.mysql.com
57c890d501 Merge whalegate.ndb.mysql.com:/home/tomas/cge-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
2007-12-10 13:32:19 +01:00
tomas@whalegate.ndb.mysql.com
4740565ebb backport test for bug#30674
(bug not present in 5.1)
2007-12-10 13:29:23 +01:00
tomas@whalegate.ndb.mysql.com
541db60153 Merge whalegate.ndb.mysql.com:/home/tomas/cge-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
2007-12-10 10:32:21 +01:00
mskold/marty@mysql.com/quadfish.(none)
4dcfb096d7 bug#21072 Duplicate key error in NDB references wrong key: regenerated result 2007-12-07 12:20:04 +01:00
bar@mysql.com/bar.myoffice.izhnet.ru
7840cdae38 bug#29562 default collation of ucs2_unicode_ci crashes slave
Problem: some pieces of code relied on the default character
set settings, which didn't work in case of default character set
ucs2.
Fix: Specifying character set explicitly, not to depend on
the default settings.
2007-11-28 15:35:25 +04:00
mkindahl@dl145h.mysql.com
0c7f3bdeba Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2007-11-21 21:15:33 +01:00
gluh@eagle.(none)
58336411c9 Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-11-14 17:30:16 +04:00
mkindahl@dl145h.mysql.com
6b5cb11dba Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-new-rpl
2007-11-14 11:07:30 +01:00
mats@kindahl-laptop.dnsalias.net
240f3fa2b4 BUG#31552 (Replication breaks when deleting rows from out-of-sync table without PK):
Pushing test case for bug only. Bug already fixed as a result of the patch for BUG#19958.
2007-11-09 11:02:51 +01:00
msvensson@shellback.(none)
5e3725bf48 Bug#28170 replicate-ignore-db=mysql should not ignore mysql.ndb_apply_status
- Add test case
---
Bug#28170 replicate-ignore-db=mysql should not ignore mysql.ndb_apply_status
 - Add test case
2007-11-02 13:07:14 +01:00
jmiller/root@ndbqa01.mysql.com
1a7bf0c630 Merge mysql.com:/usr/clones/mysql-5.1-new-rpl
into  mysql.com:/usr/clones/rpl-push
2007-10-30 10:02:37 -05:00
tomas@whalegate.ndb.mysql.com
38ce0fc24d correct result file 2007-10-30 14:52:12 +01:00
tomas@whalegate.ndb.mysql.com
a214b1b9ba Merge whalegate.ndb.mysql.com:/home/tomas/cge-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
2007-10-30 11:28:19 +01:00
gshchepa/uchum@gleb.loc
6fbac59c5c Many files:
Error message numbers.
2007-10-27 01:40:48 +05:00
mats@kindahl-laptop.dnsalias.net
105a9c3e67 Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b28618-mysql-5.1-rpl
2007-10-22 08:50:08 +02:00
mats@kindahl-laptop.dnsalias.net
f2ba11c327 BUG#28618 (Skipping into the middle of a group with SQL_SLAVE_SKIP_COUNTER
is possible):

When skipping the beginning of a transaction starting with BEGIN, the OPTION_BEGIN
flag was not set correctly, which caused the slave to not recognize that it was
inside a group. This patch sets the OPTION_BEGIN flag for BEGIN, COMMIT, ROLLBACK,
and XID events. It also adds checks if inside a group before decreasing the
slave skip counter to zero.

Begin_query_log_event was not marked that it could not end a group, which is now
corrected.
2007-10-19 14:18:41 +02:00