4137 Nuno Carvalho 2012-08-21
BUG#14116526: RPL.RPL_GTID_SQL_UNTIL_BEFORE_AFTER FAILS WITH RESULT LENGTH MISMATCH ON TRUNK.
rpl_gtid_sql_until_before_after has sporadic failures on pb2 on valgrind
runs. On slow/overloaded platforms SQL_THREAD_WAIT_AFTER_GTIDS may
timeout before reaching the condition, which query result is not being
logged due to nondeterministic return value.
To avoid SQL_THREAD_WAIT_AFTER_GTIDS returns before reaching the
condition, disabled timeout from SQL_THREAD_WAIT_AFTER_GTIDS query.
modified:
mysql-test/suite/rpl/r/rpl_gtid_sql_until_before_after.result
mysql-test/suite/rpl/t/rpl_gtid_sql_until_before_after.test
4136 Manish Kumar 2012-08-21
BUG#14381701 - DELETING FROM A HASH WHILE ITERATING OVER IT IS WRONG
Problem - The problem is that in sql/rpl_rli_pdb.cc file we delete
from a hash while iterating over it. This is wrong since
delete operation might rearrange elements in hash,
so "iterator" will become invalid and, unless extra steps
are taken, such iteration is likely to miss elements which
should have been deleted otherwise.
Fix - The problem is fixed by storing the address of the Hash elements
that needs to be deleted based on the usage, in the Dynamic array
of pointers in a for loop. In a second iteration we pop the
elements of the dynamic array and delete the Hash element from
that address. This will not cause any inconsistency.
@ sql/rpl_rli_pdb.cc
Added the new Dynamic array " hash_element " which is used to store the
hash entries that need to be deleted.
modified:
sql/rpl_rli_pdb.cc
=== modified file 'mysql-test/suite/rpl/r/rpl_gtid_sql_until_before_after.result'
--- a/mysql-test/suite/rpl/r/rpl_gtid_sql_until_before_after.result 2012-05-08 17:11:38 +0000
+++ b/mysql-test/suite/rpl/r/rpl_gtid_sql_until_before_after.result 2012-08-21 10:27:20 +0000
@@ -111,7 +111,7 @@ c1
9
Sync slave with master
include/start_slave.inc
-SELECT SQL_THREAD_WAIT_AFTER_GTIDS('MASTER_UUID:10', 300);
+SELECT SQL_THREAD_WAIT_AFTER_GTIDS('MASTER_UUID:10');
SELECT * FROM t1;
c1
2
=== modified file 'mysql-test/suite/rpl/t/rpl_gtid_sql_until_before_after.test'
--- a/mysql-test/suite/rpl/t/rpl_gtid_sql_until_before_after.test 2012-05-08 17:11:38 +0000
+++ b/mysql-test/suite/rpl/t/rpl_gtid_sql_until_before_after.test 2012-08-21 10:27:20 +0000
@@ -139,7 +139,7 @@ SELECT * FROM t1;
--replace_result $master_uuid MASTER_UUID
--enable_query_log
--disable_result_log
---eval SELECT SQL_THREAD_WAIT_AFTER_GTIDS('$master_uuid:10', 300)
+--eval SELECT SQL_THREAD_WAIT_AFTER_GTIDS('$master_uuid:10')
--enable_result_log
SELECT * FROM t1;
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.6 branch (nuno.carvalho:4136 to 4137) Bug#14116526 | Nuno Carvalho | 21 Aug |