Commit graph

171899 commits

Author SHA1 Message Date
Nirbhay Choubey
7c42b47e67 Merge branch '5.5-galera' into 10.0-galera 2016-03-22 00:35:14 -04:00
Nirbhay Choubey
9c89b84d46 MDEV-9401: wsrep_forced_binlog_format with binlog causes crash
Some statements are always replicated in STATEMENT binlog format.
So upon their execution, the current binlog format is temporarily
switched to STATEMENT even though the session's format is different.
This state, stored in THD's current_stmt_binlog_format, was getting
incorrectly masked by wsrep_forced_binlog_format, causing assertions
and unintended generation of row events.

Backported galera.galera_forced_binlog_format and added a test
specific to this case.
2016-03-18 11:27:32 -04:00
Nirbhay Choubey
01897db102 Skip galera_sync_wait_show.test on non-debug builds.
The test uses a debug feature SHOW PROCEDURE|FUNCTION CODE.
2016-02-24 17:40:12 -05:00
Krunal Bauskar
f67d6fccac - PXC#480: xtrabackup-v2 SST fails with multiple log_bin directives in my.cnf
If any given variable the xtrabackup-v2 sst script looks for is specified
  multiple times in cnf file then it tend to pick both of them causing
  some of the follow-up command to fail.

  Avoid this programatic mistake by honoring only the last variable assigned
  setting as done by mysqld too.

  Check https://bugs.launchpad.net/percona-xtradb-cluster/+bug/1362830
2016-02-23 21:46:53 -05:00
Krunal Bauskar
0cf66e49db - PXC#460: wsrep_sst_auth don't work in Percona-XtraDB-Cluster-56-5.6.25-25.12.1.el7
Semantics:
---------

* Generally end-user will create a separate user with needed
privileges for
    performing DONOR action.
* This user credentials are specified using wsrep_sst_auth.

* Along with this user there could be other user(s) created on the
server
    that sysadmin may use for normal or other operations
* Credentials for these user(s) can be specified in same
cluster/server
    cnf file as part of [client] section

When cluster act as DONOR and if wsrep_sst_auth is provided then it
should
strictly use it for performing SST based action.

What if end-user has same credentials for performing both SST action
and
normal admin work ?
* Then end-user can simply specify these credentials as part of
[client]
    section in cnf file and skip providing wsrep_sst_auth.

Issue:
-----

MySQL client user/password parsing preference order is as follows:
* command line (through --user/--password)
* cnf file
* MYSQL_PWD enviornment variable.

Recent change tried passing sst user password through MYSQL_PWD
(and user though --user command line param as before).

On the system where-in admin had another user for performing non-SST
actions,
credentials for such user were present in cnf file under [client]
section.

Due to mysql client preference order, SST user name was used (as it
was
passed through command line) but password of other user (meant for
non-SST)
action was being used as it was passed through cnf file.

Password passed through MYSQL_PWD was completely ignored causing
user-name/password mismatch.

Solution:
---------

* If user has specified credentials for SST then pass them through
command
    line so that they are used in priority.

(There could be security concern on passing things through command
line but
   when I tried passing user-name and password through command line to
mysql
   client and then did ps I saw this
   ./bin/mysql --user=sstuser --password=x xxxxxxxx -S /tmp/n1.sock
so seems like password is not shown)
2016-02-23 21:44:32 -05:00
Nirbhay Choubey
0fd9d5a656 Update WSREP_PATCH_REVNO. 2016-02-23 21:24:00 -05:00
Nirbhay Choubey
1b0d811d2d Merge branch '5.5-galera' into 10.0-galera 2016-02-23 21:08:42 -05:00
Nirbhay Choubey
0d58323e26 Merge tag 'mariadb-10.0.24' into 10.0-galera 2016-02-23 20:53:29 -05:00
Nirbhay Choubey
276d65b324 Fix for test failures. 2016-02-23 20:33:21 -05:00
Philip Stoev
b9c42d7a47 Bump WSREP_PATCH_VERSION in cmake/wsrep.cmake to 13 2016-02-23 13:24:49 -05:00
Nirbhay Choubey
15118d3561 refs codership/mysql-wsrep#237: Add sync point for mtr test. 2016-02-23 00:30:47 -05:00
sjaakola
b633dbdac9 refs codership/mysql-wsrep#237
- test for FLUSH TABLES hang in slave node
2016-02-23 00:28:16 -05:00
sjaakola
32df0b1aac refs codership/mysql-wsrep#233
- avoiding the race condition, by not grabbing thd->LOCK_wsrep_thd for
  accessing thd->wsrep_exec_mode. The caller is same thread and exec mode
  can only be changed by self.
2016-02-23 00:22:04 -05:00
sjaakola
90e5e2f91c refs codership/mysql-wsrep#233
- added mtr test case for this issue
- not a perfect one, depends on some sleeps instead of checking
  if sync points are met
2016-02-23 00:20:36 -05:00
Nirbhay Choubey
2cdcde93c5 Merge sync point from previous commit to XtraDB. 2016-02-23 00:19:41 -05:00
sjaakola
18f160d954 refs codership/mysql-wsrep#233
- added dbug sync points for further mtr test for this issue
2016-02-23 00:13:12 -05:00
Philip Stoev
bf9572ba59 refs codership/mysql-wsrep#228 - a test for wsrep_sync_wait and SHOW 2016-02-23 00:11:09 -05:00
Daniele Sciascia
1e14db11ee refs codership/mysql-wsrep#228
- Add calls to wsrep_sync_wait for
  SHOW CREATE DB/PROCEDURE/FUNCTION/TRIGGER/EVENT
  and SHOW PROCEDURE/FUNCTION CODE
2016-02-23 00:10:23 -05:00
Philip Stoev
5ebf6ce7aa Bump WSREP_PATCH_VERSION in cmake/wsrep.cmake to 12 2016-02-22 23:57:37 -05:00
Philip Stoev
2b7a5d9edb Galera MTR Tests: adjust the galera.galera_defaults test for the new MTR default value for repl.causal_read_timeout 2016-02-22 23:55:38 -05:00
Philip Stoev
8504330d1d Galera MTR Tests: misc test stability fixes 2016-02-22 23:52:30 -05:00
Daniele Sciascia
c6659345a0 refs codership/mysql-wsrep#201
Fix remaining issues with wsrep_sync_wait and query cache.

- Fixes misplaced call to invalidate query cache in
  Rows_log_event::do_apply_event().
  Query cache was invalidated too early, and allowed old
  entries to be inserted to the cache.

- Reset thd->wsrep_sync_wait_gtid on query cache hit.
  THD->cleanup_after_query is not called in such cases,
  and thd->wsrep_sync_wait_gtid remained initialized.
2016-02-22 23:42:32 -05:00
Nirbhay Choubey
c05d85f45d Refs codership/mysql-wsrep#198 : Fix test case 2016-02-22 22:35:48 -05:00
Philip Stoev
e9d805b845 Refs codership/mysql-wsrep#198 . MTR test case 2016-02-22 22:31:21 -05:00
Nirbhay Choubey
d45f0c117f refs codership/mysql-wsrep#198: Revert test changes from previous commit
Restore tests for FLUSH commands supported by MariaDB.
2016-02-22 22:30:14 -05:00
Teemu Ollakka
ea0b1837ed refs codership/mysql-wsrep#198 Removed code duplication, PXC specifics
* Total order isolation was started twice for FLUSH TABLES, from
  reload_acl_and_cache() and from mysql_execute_command(). Removed
  the reload_acl_and_cache() part.
* Removed PXC specific stuff from MTR tests
2016-02-22 22:21:29 -05:00
Daniele Sciascia
235bebe02e refs codership/mysql-wsrep#201
- Eliminates code duplication in query cache patch
- Reduces the number of iterations in mysql-wsrep#201.test
  to shorten the execution time
- Adds a new test case that exercises more scenarios
2016-02-22 22:10:51 -05:00
Nirbhay Choubey
17ac959716 Bug#1421360: Add Percona Server specific FLUSH statements.
- Restore FLUSH commands supported by MariaDB (removed in
the previous commit)
- Adjust test case
2016-02-22 22:07:59 -05:00
Nirbhay Choubey
5d4fb15e5a Fix for compilation failure. 2016-02-22 22:05:16 -05:00
Teemu Ollakka
7d89deb0a3 refs codership/mysql-wsrep#198 fixed merge issues 2016-02-22 18:45:53 -05:00
Raghavendra D Prabhu
0ecc4fe2ac Bug#1421360: Add Percona Server specific FLUSH statements.
Added following:

        FLUSH CLIENT_STATISTICS
        FLUSH INDEX_STATISTICS
        FLUSH TABLE_STATISTICS
        FLUSH THREAD_STATISTICS
        FLUSH USER_STATISTICS

pertaining to USER STATISTICS
https://www.percona.com/doc/percona-server/5.6/diagnostics/user_stats.html

        FLUSH CHANGED_PAGE_BITMAPS

pertaining to changed page tracking.
https://www.percona.com/doc/percona-server/5.6/management/changed_page_tracking.html

Also, added tests for them.

(cherry picked from commit 7efe49010c7f217663f364657090812b4723f426)

Conflicts:
	mysql-test/suite/galera/r/galera_flush.result
	mysql-test/suite/galera/r/galera_flush_gtid.result
	mysql-test/suite/galera/t/galera_flush.test
	sql/sql_parse.cc
2016-02-22 18:00:28 -05:00
Raghavendra D Prabhu
1077eef942 PXC-391: Avoid Total Order Isolation (TOI) for LOCAL sql admin commands.
The admin commands in question are:
    > OPTIMIZE
    > REPAIR
    > ANALYZE

For LOCAL or NO_WRITE_TO_BINLOG invocations of these commands, ie

    OPTIMIZE LOCAL TABLE <t1>

they are not binlogged as expected.

Also, in addition, they are not executed under TOI.

Hence, they are not propagated to other nodes.

The effect is same as that of wsrep_on=0.

Also added tests for this.

A WSREP_DEBUG for wsrep_register_hton has also been added.

The galera_flush_local test has also been updated for verifying that effects
of  NO_WRITE_TO_BINLOG / LOCAL are equivalent to wsrep_on=0 from wsrep
perspective.

(cherry picked from commit 5065122f94a8002d4da231528a46f8d9ddbffdc2)

Conflicts:
	sql/sql_admin.cc
	sql/sql_reload.cc
	sql/wsrep_hton.cc
2016-02-22 17:59:06 -05:00
Philip Stoev
5be449d014 Galera MTR Tests: attempt to work around codership/QA#179 in galera_as_slave_nonprim.test 2016-02-22 17:53:58 -05:00
Philip Stoev
d794f05910 Galera MTR Tests: stability fix for galera_gcs_fragment.test (TCP port was output to the .result file) 2016-02-22 17:48:13 -05:00
Daniele Sciascia
ace86a2375 refs codership/mysql-wsrep#201
- Fixes query cache so that it is aware of wsrep_sync_wait.
  Query cache would return (possibly stale) results to the
  client, regardless of the value of wsrep_sync_wait.
- Includes the test case that reproduced the issue.
2016-02-22 17:46:22 -05:00
Nirbhay Choubey
c1ea0570af refs codership/mysql-wsrep#184
Merge fix to XtraDB engine.
2016-02-22 16:51:45 -05:00
Daniele Sciascia
251c53a8a7 refs codership/mysql-wsrep#184
- Adds runtime check wsrep_on(), to not interfere with default
  innodb behavior.
2016-02-22 16:47:44 -05:00
Teemu Ollakka
5ad30e8ad1 MTR test for checking correctness of fragmentation over CCs 2016-02-22 16:46:29 -05:00
Daniele Sciascia
cf43620136 refs codership/galera#308
- Avoid calling wsrep->stats_free() directly, instead, use wsrep_free_status().
2016-02-22 16:45:34 -05:00
Daniele Sciascia
8c89e843db refs codership/galera#308
- Moves cleanup of status vars to function export_wsrep_status_to_mysql().
2016-02-22 16:38:32 -05:00
Nirbhay Choubey
2c56142b77 refs codership/mysql-wsrep#184
Merge fix to XtraDB engine.
2016-02-22 16:36:05 -05:00
Daniele Sciascia
1d21676853 refs codership/mysql-wsrep#184
Fixes a deadlock between applier and its victim transaction.
The deadlock would manifest when a BF victim was waiting for some lock
and was signaled to rollback, and the same time its wait
timeout expired. In such cases the victim would return from
lock_wait_suspend_thread() with error DB_LOCK_WAIT_TIMEOUT, as opposed to
DB_DEADLOCK. As a result only the last statement of the victim would rollback,
and eventually it would deadlock with the applier.
2016-02-22 16:32:45 -05:00
Daniele Sciascia
267d429b5a refs codership/mysql-wsrep#31
- Erronously removed call to wsrep_xid_init() in previous commit.
2016-02-22 16:22:50 -05:00
Daniele Sciascia
c0dac420e5 refs codership/mysql-wsrep#31
- Removes useless call to wsrep_xid_init() in wsrep_apply_events().
  Transaction's xid is already initialized at that point.
- Adds call to wsrep_set_SE_checkpoint() for committing TOI events
  in the applier side.
- Includes test case that reproduced the issue.
2016-02-22 16:21:04 -05:00
Daniele Sciascia
0ec457b0de refs codership/galera#308
- Moves call wsrep_free_status() to THD::cleanup_after_query().
  Wsrep status variables were previously freed only on SHOW STATUS.
- Removes valgrind suppression from mysql-test/valgrind.
2016-02-22 16:10:01 -05:00
Teemu Ollakka
00b058aca3 refs codership/mysql-wsrep#202 Added schema info into wsrep messages
Added schema info to wsrep messages above debug level.
2016-02-22 16:00:04 -05:00
Philip Stoev
7ce84cf764 Galera MTR Tests: stability fixes
Conflicts:
	mysql-test/include/mtr_check.sql
	mysql-test/suite/galera/r/galera_log_bin.result
	mysql-test/suite/galera/t/galera_log_bin.test
2016-02-22 14:43:35 -05:00
Teemu Ollakka
2f870f5376 Restore original value of wsrep_on after waiting for sync point. 2016-02-22 13:00:27 -05:00
Teemu Ollakka
d01328d73b Helpers to deal with galera dbug sync points. 2016-02-22 12:58:02 -05:00
Nirbhay Choubey
17b5cb6172 codership/mysql-wsrep#247: Fix test case 2016-02-17 22:56:38 -05:00