Commit graph

64783 commits

Author SHA1 Message Date
Philip Stoev
e5b595e9d1 Galera MTR Tests: fix typo in suite/galera/galera_2nodes_as_slave.cnf 2015-09-09 23:00:14 -04:00
Philip Stoev
ee22ac3808 Galera MTR Tests: Various test stability fixes (take #5) 2015-09-09 22:53:39 -04:00
Philip Stoev
7d73931cbc Galera MTR Tests: Various test stability fixes (take #4) 2015-09-09 22:53:38 -04:00
Philip Stoev
ff76214a46 Galera MTR Tests: Various test stability fixes (take #3) 2015-09-09 22:53:38 -04:00
Philip Stoev
fd0aaad547 Galera MTR Tests: Various test stability fixes (take #2) 2015-09-09 22:53:32 -04:00
Philip Stoev
997119dafe Galera MTR Tests: Various test stability fixes. 2015-09-09 22:45:58 -04:00
Philip Stoev
182b237d40 Galera MTR Tests: remove variable output from galera_gra_log.test (take #2) 2015-09-09 22:42:43 -04:00
Philip Stoev
c9d4581e8a Galera MTR Tests: remove variable output from galera_gra_log.test 2015-09-09 22:42:43 -04:00
Philip Stoev
2316a4e19f Galera MTR Tests: Tests for GRA*.log files, replication bundle, preordered events, forced binlog format 2015-09-09 22:42:42 -04:00
Philip Stoev
a1a7414b1d Galera MTR Tests: An end-to-end test with restoring a node from xtrabackup; a test for restoring the primary component via pc.bootstrap 2015-09-09 22:42:31 -04:00
Philip Stoev
1e2906892a Galera MTR Tests: Valgrind suppression for codership/galera#306 2015-09-09 22:41:02 -04:00
Philip Stoev
3893b5c6da Galera MTR Tests: mark all tests operating on large data sets with --source include/big-test.inc to help with Valgrind 2015-09-09 22:41:02 -04:00
Philip Stoev
83579c2ff3 Galera MTR Tests: fixes for mysqldump SST/IST tests 2015-09-09 22:39:28 -04:00
Philip Stoev
10f5c08f4b Refs codership/QA#47. Additional tests for FTWRL. 2015-09-09 22:39:27 -04:00
Philip Stoev
6104a27c98 Galera MTR Tests: increase lock wait timeout in suite/galera/t/galera_many_rows.test 2015-09-09 22:39:26 -04:00
Philip Stoev
4a630ce6ad Galera MTR Tests: A test for xtrabackup with key+cert encryption. 2015-09-09 22:39:26 -04:00
Philip Stoev
edd9bd3ea7 Fixes codership/mysql-wsrep#153 use --defaults-extra-file with mysqldump SST 2015-09-09 22:39:20 -04:00
Philip Stoev
5d531f07bf Galera MTR Tests: Use SET GLOBAL when setting wsrep_replicate_myisam, as it is a GLOBAL variable in MySQL Galera Cluster and SESSION in Percona XTraDB Cluster 2015-09-09 22:35:48 -04:00
Raghavendra D Prabhu
fbe739cbb1 Bug#1421360: Add 'FLUSH TABLES' to Total Order Isolation execution.
Before this, FLUSH TABLES and FLUSH TABLES t1 (REFRESH_TABLES hereafter) were executed locally,
which also had implications for GTID. MySQL async replication does
replicate FLUSH TABLES.

Hence, this commit

a)  Adds REFRESH_TABLES to TOI.

b) Skips LOCK-based REFRESH_TABLES from TOI, ie. FLUSH TABLES WITH READ
LOCK and FLUSH TABLES FOR EXPORT.

c) Executes them after reload_acl_and_cache. This is done since
reload_acl_and_cache checks for thd->locked_tables_mode and does upgrade
of MDL locks accordingly. A failure here means REFRESH_TABLES cannot
run.

    i) This is also important since LOCK TABLES is not replicated in
    galera.

d) Test galera_flush has been modified for

    i) wsrep_replicate_myisam SESSION variable.

    ii) Testing REFRESH_TABLES.

    iii) Testing REFRESH_TABLES + LOCK TABLES.

e) Use different WSREP_TO_ISOLATION_BEGIN for global FLUSH TABLES and FLUSH TABLES <table,>.
2015-09-09 22:33:52 -04:00
Philip Stoev
5a002adb5f Galera MTR Tests: various tests and test fixes 2015-09-09 22:31:06 -04:00
Philip Stoev
f1a00ed514 Galera MTR Tests: Use wsrep_sst_auth for tests that use xtrabackup + IST 2015-09-09 22:31:05 -04:00
Philip Stoev
483078b1b1 Fixes codership/QA#87 . An MTR test for SERIALIZABLE 2015-09-09 21:40:07 -04:00
Philip Stoev
4102d5258d Refs codership/mysql-wsrep#113 - tests around FLUSH TABLE, FLUSH TABLES, LOCK TABLE 2015-09-09 21:38:58 -04:00
Philip Stoev
f9805e4c98 Galera MTR Tests: tests for WAN restart, xtrabackup options and others. 2015-09-09 21:36:03 -04:00
Alexey Yurchenko
ef7b08978b Fixes codership/mysql-wsrep#122 - causal/casual typos fixed in wsrep code 2015-09-09 21:35:58 -04:00
Philip Stoev
bace2a9752 Galera MTR Tests: add a test for socket.ssl_compression 2015-09-09 21:33:23 -04:00
Philip Stoev
b5ef2bbc5e Re-enable tests previously disabled due to mysql-wsrep#114 2015-09-09 21:31:28 -04:00
Philip Stoev
417f778e53 Galera MTR tests: disable innodb.innodb_stats_* due to mysql-wsrep#114 2015-09-09 21:24:41 -04:00
Philip Stoev
045b31c8f4 Test cases for codership/mysql-wsrep/110 2015-09-09 21:04:35 -04:00
Philip Stoev
d0e24c6799 Galera MTR Tests: Attempt to remove rare sporadic failures in galera_transaction_replay.test by waiting for all transactions to get blocked before proceeding. 2015-09-09 20:56:48 -04:00
Philip Stoev
f8b724db28 Galera MTR Tests: Enable the use of --parallel for port-intensive Galera tests by additionally specifying --port-group-size=50 2015-09-09 20:56:41 -04:00
Philip Stoev
9f716ae9d3 Galera MTR: Disable rpl.rpl_rotate_logs binlog.binlog_index due to codership/mysql-wsrep#71 2015-09-09 20:53:15 -04:00
Oleksandr Byelkin
29ac245dd0 MDEV-8473: mysqlbinlog -v does not properly decode DECIMAL values in an RBR log
Backport of upstream patch. revno: 5696
2015-09-07 13:13:52 +02:00
Oleksandr Byelkin
102a85f9f3 MDEV-8663: IF Statement returns multiple values erroneously (or Assertion `!null_value' failed in Item::send(Protocol*, String*))
Postreview addons by Bar

Fix: keeping contract: NULL value mean NULL pointer in val_str and val_deciman.
2015-09-04 15:56:58 +02:00
Jan Lindström
9abf426ee7 MDEV-8443: mysql-test - innodb.innodb_simulate_comp_failures 'innodb_plugin' is failing
Reduce the number of rounds and operations to avoid testcase timeout.
2015-09-04 13:35:31 +03:00
Kristian Nielsen
83c7b1e95b Merge MDEV-8725 into 10.0 2015-09-02 10:40:34 +02:00
Kristian Nielsen
999c43aeb7 MDEV-8725: Assertion `!(thd->rgi_slave && thd-> rgi_slave->did_mark_start_commit)' failed in ha_rollback_trans
The assertion is there to catch cases where we rollback while
mark_start_commit() is active. This can allow following event groups
to be replicated too early, causing conflicts.

But in this case, we have an _explicit_ ROLLBACK event in the binlog,
which should not assert.

We fix this by delaying the mark_start_commit() in the explicit
ROLLBACK case. It seems safest to delay this in ROLLBACK case anyway,
and there should be no reason to try to optimise this corner case.
2015-09-02 09:57:18 +02:00
Oleksandr Byelkin
4b41e3c7f3 MDEV-6219: Server crashes in Bitmap<64u>::merge (this=0x180, map2=...) on 2nd execution of PS with INSERT .. SELECT, derived_merge
Problem: Not all permanent Item_direct_view_ref was in permanent list of used items of the view.

Solution: Detect creating permenent view/derived table reference and put them in the permanent list at once.
2015-08-31 18:40:24 +02:00
Nirbhay Choubey
f533b2b462 Merge branch '5.5-galera' into 10.0-galera 2015-08-25 11:15:45 -04:00
Elena Stepanova
aef8bfdc82 MDEV-8670 main.mdev-504 fails on Windows (in buildbot and outside)
Test failed because it hit net_write_timeout. It might happen in
different circumstances, and that's not what the testcase tests,
so the timeout is now set to a bigger value.
2015-08-24 01:37:21 +03:00
Nirbhay Choubey
472d66320d MDEV-8149: Random mtr test failures during warning check
Do not replicate commands from check-warnings.test to other
nodes in the cluster.
2015-08-22 01:18:02 -04:00
Arun Kuruvila
f4ff086abe Bug#20198490 : LOWER_CASE_TABLE_NAMES=0 ON WINDOWS LEADS TO
PROBLEMS

Description:- Server variable "--lower_case_tables_names"
when set to "0" on windows platform which does not support
case sensitive file operations leads to problems. A warning
message is printed in the error log while starting the
server with "--lower_case_tables_names=0". Also according to
the documentation, seting "lower_case_tables_names" to "0"
on a case-insensitive filesystem might lead to index
corruption.

Analysis:- The problem reported in the bug is:-
Creating an INNODB table 'a' and executing a query, "INSERT
INTO a SELECT a FROM A;" on a server started with
"--lower_case_tables_names=0" and running on a
case-insensitive filesystem leads innodb to flat spin.
Optimizer thinks that "a" and "A" are two different tables
as the variable "lower_case_table_names" is set to "0". As a
result, optimizer comes up with a plan which does not need a
temporary table. If the same table is used in select and
insert, a temporary table is needed. This incorrect
optimizer plan leads to infinite insertions.

Fix:- If the server is started with
"--lower_case_tables_names" set to 0 on a case-insensitive
filesystem, an error, "The server option
'lower_case_table_names'is configured to use case sensitive
table names but the data directory is on a case-insensitive
file system which is an unsupported combination. Please
consider either using a case sensitive file system for your
data directory or switching to a case-insensitive table name
mode.", is printed in the server error log and the server
exits.
2015-08-21 08:35:42 +05:30
Nirbhay Choubey
4ee28865f6 MDEV-5146 : Bulk loads into partitioned table not working
When wsrep is enabled, for any update on innodb tables, the
corresponding keys are appended to galera's transaction writeset
(wsrep_append_keys()). However, for LOAD DATA, this got skipped
if binary logging was disabled or it was non-ROW based.
As a result, while the updates from LOAD DATA on non-partitioned
tables replicated fine as wsrep implicitly enables binary logging
(if not enabled, explicitly), the same did not work on partitioned
tables as for partitioned tables the binary logging gets disabled
temporarily (ha_partition::write_row()).

Fixed by removing the unwanted conditions from the check.
Also backported some changes from 10.0-galera to make sure
wsrep_load_data_splitting affects LOAD DATA commands only.
2015-08-20 20:55:52 -04:00
Nirbhay Choubey
ccd39b2dd3 Backport partition tests from 10.0-galera. 2015-08-20 09:55:54 -04:00
Nirbhay Choubey
98bebad672 Fix for a typo. 2015-08-18 17:03:28 -04:00
Sergei Petrunia
9b475ee3c1 MDEV-8289: Semijoin inflates number of rows in query result
- Make semi-join optimizer not to choose LooseScan
  when 1) the index is not covered and 2) full index
  scan will be required.

- Make sure that the code in make_join_select() that may change
  full index scan into a range scan is not invoked when the table
  uses full scan.
2015-08-18 22:54:42 +03:00
Shishir Jaiswal
ee02650bac Bug #16171518 - LOAD XML DOES NOT HANDLE EMPTY ELEMENTS
DESCRIPTION
===========
Inability of mysql LOAD XML command to handle empty XML
tags i.e. <row><tag/></row>. Also the behaviour is wrong
and (different than above) when there is a space in empty
tag i.e. <row><tag /></row>

ANALYSIS
========
In read_xml() the case where we encounter a close tag ('/')
we're decreasing the 'level' blindly which is wrong.
Actually when its an without-space-empty-tag (succeeding
char is '>'), we need to skip the decrement. In other words
whenever we hit a close tag ('/'), decrease the 'level'
only when (i) It's not an (without space) empty tag i.e.
<tag/> or, (ii) It is of format <row col="val" .../>

FIX
===
The switch case for '/' is modified. We've removed the
blind decrement of 'level'. We do it only when its not an
without-space-empty-tag. Also we are setting 'in_tag' to
false to let program know that we're done reading current
tag (required in the case of format <row col="val" .../>)
2015-08-18 12:24:27 +05:30
Karthik Kamath
93ac0eb1c4 BUG#11754258: INCORRECT ERROR MESSAGE WHEN CREATING UNSAFE
VIEW


It appears that the code refactoring done as part of the
patch for the MySQL BUG#11749859 fixed this issue. This
issue is not reproducible on MySQL 5.5+ versions now.
As part of this patch, the test file "mysqldump.test" has
been updated to remove the comment which was referring to
the bug and also the line which suppresses the warning.
2015-08-18 10:38:06 +05:30
Mithun C Y
8fe0708808 Merge branch 'mysql-5.1' into mysql-5.5 2015-08-17 15:26:01 +05:30
Mithun C Y
557a57f3a2 Bug #21350175: SUBQUERIES IN PROCEDURE CLAUSE OF SELECT STATEMENT CAUSES SERVER FAILURES.
Analysis :
==========
During JOIN::prepare of sub-query which creates the
derived tables we call setup_procedure. Here we call
fix_fields for parameters of procedure clause. Calling
setup_procedure at this point may cause issue. If
sub-query is one of parameter being fixed it might
lead to complicated dependencies on derived tables
being prepared.

SOLUTION :
==========
In 5.6 with WL#6242, we have made procedure clause
parameters can only be NUM, so sub-queries are not
allowed as parameters. So in 5.5 we can block
sub-queries in procedure clause parameters.
This eliminates above conflicting dependencies.
2015-08-17 15:23:47 +05:30