Commit graph

106 commits

Author SHA1 Message Date
aelkin/elkin@koti.dsl.inet.fi
b22f5077a4 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl
into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.1/bug31554-rpl_truncate
2007-11-02 14:05:51 +02:00
aelkin/elkin@koti.dsl.inet.fi
4b9b015457 Bug #31554 rpl.rpl_truncate_2myisam test failure: wrong master binlog file name
Actually, the failure happened with 3innodb as well. Most probably
the reason is in failing to delete a binlog file on __NT__ so that
that master increments the index of the binlog file.
The test results hide valueable warning that windows could generate
about that.

The scope of this fix is to make sure we have such warning and
to lessen chances for binlog file being held at time of closing.
The dump thread is getting a good chance to leave and 
release the file for its successful deletion.

We shall watch over the two tests as regression is not excluded.
In that case we would have an extra info possibly explaining why
__NT__ env can not close/delete the file.
However, regardless of that reason, there is alwasy workaround to mask out
non-deterministic binlog index number.
2007-11-02 14:00:38 +02:00
jmiller/jbmiller@ndbqa01.mysql.com
9f87735289 Merge jmiller@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  mysql.com:/usr/clones/rpl-push
2007-10-31 09:52:05 -05: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
aelkin/elkin@koti.dsl.inet.fi
01f86563cb Manual merge 5.0-rpl -> 5.1-rpl.
involved bug#12691, bug#27571
2007-10-30 13:49:42 +02:00
bar@bar.myoffice.izhnet.ru
70488d7dfe Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/bar/mysql-work/mysql-5.1-new-rpl-merge
2007-10-30 12:03:34 +04:00
aelkin/elkin@koti.dsl.inet.fi
c1f751ba9b Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl
into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.1/bug30594-rpl.rpl_skip_error_is_nondeterministic
2007-10-25 19:28:38 +03:00
mats@kindahl-laptop.dnsalias.net
71bd1522e0 Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b24860-mysql-5.1-rpl
2007-10-24 16:54:18 +02:00
mats@kindahl-laptop.dnsalias.net
b9de3ce2a9 BUG#31702 (Missing row on slave causes assertion failure under row-based
replication):

Incremental patch to enable idempotency support for update events again.
The final handling of errors will be done in BUG#31609, and until then
the handling of errors should be consistent between the different types
of changes.
2007-10-24 16:02:37 +02:00
aelkin/elkin@koti.dsl.inet.fi
271c98d067 Bug #30594 rpl.rpl_skip_error is nondeterministic
Non-determinism in the tests was due to results of SBR are different from those gained
with row binlog format.

Because tests effectively verify skipping only ER_DUP_ENTRY it is explicitly required
to run the test on in mixed and stmt binlog format.
ER_DUP_ENTRY is automatically ignored when happened in RBR because of implicit rule
favoring reentrant reading from binlog rule
which means that a Write_rows_log_event overwrites a slave's row
if the one has the same primary key.

If future we might have skipping error due to applying of row-based events.
The comments added saying a new file would be needed for that: rpl_row_skip_error or smth.
2007-10-22 21:45:21 +03:00
mats@kindahl-laptop.dnsalias.net
b65a9888c0 Post-merge fixes. 2007-10-22 10:32:35 +02: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
012bccc09f BUG#24860 (Incorrect SLAVE_TRANSACTION_RETRIES code can result in slave stuck):
If a temporary error occured inside a group on an event that was not the first
event of the group, the slave could get stuck because the retry counter is reset
whenever an event was executed successfully.

This patch only reset the retry counter when an entire group has been successfully
executed, or failed with a non-transient error.
2007-10-20 20:16:12 +02:00
mats@kindahl-laptop.dnsalias.net
24ea15a24d Bug#31702 (Missing row on slave causes assertion failure under row-based replication):
When replicating an update pair (before image, after image) under row-based
replication, and the before image is not found on the slave, the after image
was not discared, and was hence read as a before image for the next row.
Eventually, this lead to an after image being read outside the block of rows
in the event, causing an assertion to fire.

This patch fixes this by reading the after image in the event that the row
was not found on the slave, adds some extra debug assertion to catch future
errors earlier, and also adds a few non-debug checks to prevent reading
outside the block of the event.
2007-10-20 18:19:55 +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
skozlov/ksm@mysql.com/virtop.localdomain
253bb96e79 Fix for non-deterministic behavior of SELECTs and VIEWs 2007-10-16 23:19:39 +04:00
mats@kindahl-laptop.dnsalias.net
d32c1d616e Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
2007-10-12 13:24:28 +02:00
mats@kindahl-laptop.dnsalias.net
d8adc641a0 Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b29549-mysql-5.1-target-5.1.22
2007-10-12 09:40:24 +02:00
mats@kindahl-laptop.dnsalias.net
c4298a3fb9 BUG#29549 (Endians: test failures on Solaris):
Refactoring code to add parameter to pack() and unpack() functions with
purpose of indicating if data should be packed in little-endian or
native order. Using new functions to always pack data for binary log
in little-endian order. The purpose of this refactoring is to allow
proper implementation of endian-agnostic pack() and unpack() functions.

Eliminating several versions of virtual pack() and unpack() functions
in favor for one single virtual function which is overridden in
subclasses.

Implementing pack() and unpack() functions for some field types that
packed data in native format regardless of the value of the
st_table_share::db_low_byte_first flag.

The field types that were packed in native format regardless are:
Field_real, Field_decimal, Field_tiny, Field_short, Field_medium,
Field_long, Field_longlong, and Field_blob.

Before the patch, row-based logging wrote the rows incorrectly on
big-endian machines where the storage engine defined its own
low_byte_first() to be FALSE on big-endian machines (the default
is TRUE), while little-endian machines wrote the fields in correct
order. The only known storage engine that does this is NDB. In effect,
this means that row-based replication from or to a big-endian
machine where the table was using NDB as storage engine failed if the
other engine was either non-NDB or on a little-endian machine.

With this patch, row-based logging is now always done in little-endian
order, while ORDER BY uses the native order if the storage engine
defines low_byte_first() to return FALSE for big-endian machines.

In addition, the max_data_length() function available in Field_blob
was generalized to the entire Field hierarchy to give the maximum
number of bytes that Field::pack() will write.
2007-10-11 18:18:05 +02:00
gluh@eagle.(none)
27762854ef Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-10-10 14:33:46 +05:00
gluh@eagle.(none)
3023ee9401 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-10-10 12:37:06 +05:00
joerg@trift2.
7c0f4a7a2e Fix bug#31150 "Test case does not cleanup":
Add the cleanup by dropping the database 'track' in test "rpl_bug31076".
2007-10-01 12:10:46 +02:00
lars/lthalmann@dl145h.mysql.com
b6553689fd Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.1-new-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
2007-10-01 11:25:32 +02:00
joerg@trift2.
5de0159493 Merge trift2.:/MySQL/M51/clone-5.1
into  trift2.:/MySQL/M51/push-5.1

This is mysql-5.1.22-rc.
2007-09-28 20:33:46 +02:00
joerg@trift-lap.fambruehe
6aa39a1cf6 Merge trift-lap.fambruehe:/MySQL/M51/push-5.1
into  trift-lap.fambruehe:/MySQL/M51/antony-5.1
2007-09-27 16:51:40 +02:00
joerg@trift-lap.fambruehe
a81116eef8 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.1-target-5.1.22
into  trift-lap.fambruehe:/MySQL/M51/antony-5.1
2007-09-24 15:33:46 +02:00
mats@kindahl-laptop.dnsalias.net
cd88c4dc8a Fixing bug in test in that a database was not dropped and was visible
in following tests.
2007-09-21 08:13:52 +02:00
mats@kindahl-laptop.dnsalias.net
8b5248a52b Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b31076-mysql-5.1-rpl
2007-09-20 18:30:00 +02:00
mats@kindahl-laptop.dnsalias.net
8aa3bb0418 Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-release
into  kindahl-laptop.dnsalias.net:/home/bk/b31076-mysql-5.1-release
2007-09-20 16:38:36 +02:00
mats@kindahl-laptop.dnsalias.net
c5622b424f BUG#31076 (Server crashes when start slave is issued):
Row-based replication crashes when replicating from pre-5.1.22 to 5.1.22
due to an uninitialized variable.
2007-09-20 16:31:05 +02:00
lars/lthalmann@dl145h.mysql.com
234e55623b Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.1-new-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
2007-09-17 12:38:22 +02:00
aelkin@dl145j.mysql.com
e9b287f27e Manual merge fixes/tests for bugs_28960,27417,23333. 2007-09-16 12:07:00 +02:00
aelkin@dl145j.mysql.com
1a0fea60a3 Merge dl145j.mysql.com:/tmp/andrei/mysql-5.0-rpl
into  dl145j.mysql.com:/tmp/andrei/5.1-merge
2007-09-15 21:25:56 +02:00
gshchepa@devsrv-b.mysql.com
2e26008c3e Many files:
Post-merge fix.
2007-09-15 07:39:58 +02:00
gshchepa@devsrv-b.mysql.com
ca15f7b190 Many files:
Merge with 5.0-opt.
2007-09-14 17:21:50 +02:00
antony@pcg5ppc.xiphis.org
0b59871b83 fix intermittant timing-related test failure 2007-09-13 09:34:21 -07:00
antony@pcg5ppc.xiphis.org
3d75d36e1f Changes for pushbuild test runs and VSC compile warnings 2007-09-12 18:16:50 -07:00
antony@pcg5ppc.xiphis.org
421d2d2a4a undo unneccessary change to ha_innodb.cc
remove 'drop database' from new tests.
2007-09-12 13:35:39 -07:00
gshchepa/uchum@gleb.loc
bd4fd0473c Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-09-13 00:44:50 +05:00
lars/lthalmann@dl145h.mysql.com
7d6f639d28 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.1-new-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
2007-09-10 13:59:38 +02:00
antony@pcg5ppc.xiphis.org
89f88eab6e Bug#30919
"Rows not deleted from innodb partitioned tables if --innodb_autoinc_lock_mode=0"

  Due to a previous bugfix which initializes a previously uninitialized
  variable, ha_partition::get_auto_increment() may fail to operate
  correctly when the storage engine reports that it is only reserving
  one value and one or more partitions have a different 'next-value'.
  Currently, only affects Innodb's new-style auto-increment code which
  reserves larger blocks of values and has less inter-thread contention.
2007-09-08 20:26:12 -07:00
acurtis/antony@xiphis.org/ltamd64.xiphis.org
5558f69d62 perform explicit cleanup
add missing opt file
2007-09-08 11:56:55 -07:00
acurtis/antony@xiphis.org/ltamd64.xiphis.org
d8d199c469 Bug#30907
"Regression: "--innodb_autoinc_lock_mode=0" (off) not same as older releases"
Bug#28430
  "Failure in replication of innodb partitioned tables on row/mixed format"
Bug#30888
  "Innodb table + stored procedure + row deletion = server crash"

  Apply Oracle patch from Sunny
  Include tests cases by Omer
  Ensure that innobase_read_and_init_auto performs table autoinc lock when lock_mode = 0
  No need for "if" guard around row_unlock_table_autoinc_for_mysql() because
  it already performs same check.
  Make autoinc_lock_mode variable read-only for duration of running mysqld process.
2007-09-08 11:19:35 -07:00
malff@omega.weblab
1a13d76941 Test cleanup in rpl_binlog_grant: XID values are unpredictable 2007-09-06 12:06:22 -06:00
gshchepa/uchum@gleb.loc
1926819d5b Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-09-06 22:31:25 +05:00
malff/marcsql@weblab.(none)
0f58ed7e74 Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-rt50-merge
2007-09-04 12:25:54 -06:00
anozdrin/alik@station.
c39d032da2 Rewrite test case for BUG 25843 to avoid SHOW BINLOG EVENTS
statement.
2007-09-03 15:13:34 +04:00
anozdrin/alik@ibm.opbmk
0261d2d9db Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  ibm.opbmk:/home/alik/Documents/MySQL/devel/5.1-rt-bug25843
2007-08-31 22:13:27 +04:00
anozdrin/alik@ibm.opbmk
d6f94b062c Fix for BUG#25843: changing default database between PREPARE and EXECUTE
of statement breaks binlog.

There were two problems discovered by this bug:

  1. Default (current) database is not fixed at the creation time.
     That leads to wrong output of DATABASE() function.

  2. Database attributes (@@collation_database) are not fixed at
     the creation time. That leads to wrong resultset.

Binlog breakage and Query Cache wrong output happened because of
the first problem.

The fix is to remember the current database at the PREPARE-time and
set it each time at EXECUTE.
2007-08-31 20:42:14 +04:00
tsmith@ramayana.hindu.god
ebe3894004 Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2007-08-30 14:54:19 -06:00