Commit graph

174433 commits

Author SHA1 Message Date
Jan Lindström
1d55cfce10 Do not use os_file_read() directly for reading first page of the
tablespace. Instead use fil_read() with syncronous setting.
Fix test failures and mask tablespace number as it could
change in concurrent mtr runs.
2016-09-22 21:47:27 +03:00
Jan Lindström
2bedc3978b MDEV-9931: InnoDB reads first page of every .ibd file at startup
Analysis: By design InnoDB was reading first page of every .ibd file
at startup to find out is tablespace encrypted or not. This is
because tablespace could have been encrypted always, not
encrypted newer or encrypted based on configuration and this
information can be find realible only from first page of .ibd file.

Fix: Do not read first page of every .ibd file at startup. Instead
whenever tablespace is first time accedded we will read the first
page to find necessary information about tablespace encryption
status.

TODO: Add support for SYS_TABLEOPTIONS where all table options
encryption information included will be stored.
2016-09-22 16:38:24 +03:00
Seamus Lee
e387bfafbb MDEV-10830 - Fix undefined database test error when running mysql_install_db (#234)
* Fix undefined database test error when running mysql_install_db

When using mariaDb in docker mode it can fail as it calls mysql_install_db but as we are going through a slightly different install process the test database has not been created, therefore we should fall back to the mysql database as per https://mariadb.com/kb/en/mariadb/mariadb-10112-mysql_install_db-aborts-on-unkown-file-test/

* Also fix mysql_install_db.pl.in
2016-09-22 13:14:40 +04:00
Alexander Barkov
9f837c6e1a MDEV-10864 Wrong result for WHERE .. (f2=COMPRESS('test') OR f2=COMPRESS('TEST')) 2016-09-22 10:03:12 +04:00
Alexander Barkov
7e4eb990ad MDEV-10425 Assertion `collation.derivation == DERIVATION_IMPLICIT' failed in Item_func_conv_charset::fix_length_and_dec()
MDEV-10850 Wrong result for WHERE .. (f2=TO_BASE64('test') OR f2=TO_BASE64('TEST'))

Problem N1: MDEV-10425
Item_func_{md5|sha|sha2}::fix_length_and_dec() changed args[0]->collation
to force binary comparison in args[0]->eq().
It was done to treat e.g. MD5('a') and MD5('A') as different values.
It is wrong for a Item_func_xxx to modify its arguments.
Item_func_conv_charset did not expect that and crashed on assert.

Problem N2: MDEV-10850
Item_func_to_base64, Item_func_password, Item_func_hex are also case sensitive
hash functions, but they did not compare their arguments as binary.

Solution:
- Removing the code changing args[0]->collation
- Introducing Item_str_ascii_checksum_func as a common parent
  for Item_func_{md5|sha|sha2|password|hex|to_base64}
  and overriding its eq() method to compare arguments binary.
2016-09-22 07:00:10 +04:00
Alexander Barkov
ec7e0b7b30 MDEV-10556 Assertion `0' failed in virtual void Item_sum_field::set_result_field(Field*) 2016-09-21 09:13:33 +04:00
Nirbhay Choubey
8b51bacfd6 MDEV-10735: Valgrind warnings around Galera SST
While copying the received state Id (uuid:seqno) to an uninitialized
buffer, it was not properly null-terminated.
2016-09-20 21:32:53 -04:00
Nirbhay Choubey
6eca463cae Fix typo in valgrind.supp 2016-09-20 15:17:57 -04:00
Kristian Nielsen
bb2c1a52c6 Merge parallel replication async deadlock kill into 10.1 2016-09-09 11:53:50 +02:00
Alexander Barkov
de7f87708a MDEV-10702 Crash in SET STATEMENT FOR EXECUTE 2016-09-09 08:40:24 +04:00
Kristian Nielsen
7e0c9de864 Parallel replication async deadlock kill
When a deadlock kill is detected inside the storage engine, the kill
is not done immediately, to avoid calling back into the storage engine
kill_query method with various lock subsystem mutexes held. Instead the
kill is queued and done later by a slave background thread.

This patch in preparation for fixing TokuDB optimistic parallel
replication, as well as for removing locking hacks in InnoDB/XtraDB in
10.2.

Signed-off-by: Kristian Nielsen <knielsen at knielsen-hq.org>
2016-09-08 15:25:40 +02:00
Sergei Golubchik
8494039757 fix the test to work
without preceding sys_vars.wsrep_provider_basic
2016-09-06 16:34:25 +02:00
Sergei Golubchik
61fd38a1de update plugin maturities 2016-09-05 17:11:14 +02:00
Sergei Golubchik
362ad94bb0 cleanup: don't copy-paste, don't current_thd 2016-09-05 09:11:42 +02:00
Nirbhay Choubey
747893a854 MDEV-10545: Update perfschema.nesting result 2016-09-02 14:40:09 -04:00
Nirbhay Choubey
31697d0b80 MDEV-10545: Server crashed in my_copy_fix_mb on querying I_S and P_S tables
Once THDs have been added to the global "threads" list,
they must modify query_string only after acquiring per-
thread LOCK_thd_data mutex.
2016-09-02 12:21:40 -04:00
Oleksandr Byelkin
a322651b8a MDEV-10017: Get unexpected Empty Set for correlated subquery with aggregate functions
take into account all arguments of aggregate function
2016-08-31 19:12:35 +02:00
Sergey Vojtovich
f6e47c0031 Merge pull request #224 from 0xAX/build-get-rid-from-die
remove die() from BUILD/autorun.sh
2016-08-31 11:51:12 +04:00
Daniel Bartholomew
64fe3894dd bump the VERSION 2016-08-30 10:32:37 -04:00
Oleksandr Byelkin
a02642b66e MDEV-10017: Get unexpected Empty Set for correlated subquery with aggregate functions (part 1)
Make aggregate function dependency visible.
2016-08-29 16:17:46 +02:00
Oleksandr Byelkin
00d84eada2 MDEV-10045: Server crashes in Time_and_counter_tracker::incr_loops
Do not set 'optimized' flag until whole optimization procedure is finished.
2016-08-29 16:17:46 +02:00
Elena Stepanova
7d115e73b8 MDEV-10604 Create a list of unstable MTR tests to be disabled in distribution builds
List of unstable tests for 10.1
2016-08-27 19:50:42 +03:00
Nirbhay Choubey
467217e669 MDEV-9510: Print extra info to error log
Activated by enabling wsrep_debug.
2016-08-26 12:45:48 -04:00
Sergei Golubchik
a66092f2eb Merge branch 'bb-10.1-serg' into 10.1 2016-08-26 10:12:47 +02:00
Nirbhay Choubey
3575618237 Post merge fixes. 2016-08-25 21:28:26 -04:00
Nirbhay Choubey
90266e8a0e Merge branch '10.0-galera' into bb-10.1-serg 2016-08-25 15:39:39 -04:00
Sergei Petrunia
2d65679384 MDEV-10665: Json_writer produces extra members in output
Fix an issue in Single_line_formatting_helper: flush_on_one_line()
didn't clean up the buffered items which could cause them to be
printed for the second time.

This can't be ever observed by a user (see MDEV text for details).
2016-08-25 19:47:38 +03:00
Sergei Golubchik
dfa3046db4 fix a test for windows 2016-08-25 15:11:21 +02:00
Sergei Golubchik
6b1863b830 Merge branch '10.0' into 10.1 2016-08-25 12:40:09 +02:00
Alexander Kuleshov
080ac47661 remove die() from BUILD/autorun.sh
This patch removes die() function from the BUILD/autorun.sh. It was
introduced in the c682570431 commit (Fix BUILD/autorun.sh to really bail
out on error.). Last users of die() was removed in the 8664de22 commit
(WL#5665: Removal of the autotools-based build system) and since it is
not used anywhere.

No functionality changes. Just cleanup.
2016-08-25 15:56:53 +06:00
Nirbhay Choubey
b506d9527b Merge branch '5.5-galera' into 10.0-galera 2016-08-24 19:41:11 -04:00
Nirbhay Choubey
c309e99ff9 Merge branch '10.0' into 10.0-galera 2016-08-24 19:30:32 -04:00
Nirbhay Choubey
8b09db8bfb Fixes/improvements in galera test suite 2016-08-24 17:13:20 -04:00
Nirbhay Choubey
1b7c5dedf7 MDEV-10566: Create role statement replicated inconsistently in Galera Cluster
In galera cluster, the definer (and thus binlog invoker) must be set
for CREATE ROLE before Query_log_event is created during TOI on the
originating node.
2016-08-24 15:32:48 -04:00
Sergei Golubchik
ea91bb6801 MDEV-10361 Crash in pam_securid.so with auth_pam connecting from SQLyog
auth_pam: debug output
2016-08-24 20:41:26 +02:00
Elena Stepanova
5bbe929d70 MDEV-10604 Create a list of unstable MTR tests to be disabled in distribution builds
- mysql-test/unstable-tests list is created, it includes
  = tests identified as unstable by Debian;
  = tests which failed in buildbot on 10.0 over the last ~6 months and were not fixed;
  = tests which have been recently modified or newly added
- '*' wildcard is now supported in skip lists
2016-08-24 17:39:57 +03:00
Vicențiu Ciorbaru
ed99e2cdd3 MDEV-10341: InnoDB: Failing assertion: mutex_own(mutex) - mutex_exit_func
Followup from 5.5 patch. Removing memory barriers on intel is wrong as
this doesn't prevent the compiler and/or processor from reorganizing reads
before the mutex release. Forcing a memory barrier before reading the waiters will
guarantee that no speculative reading takes place.
2016-08-23 21:24:36 +03:00
Vicențiu Ciorbaru
4eb898bb16 MDEV-10563 Crash during shutdown in Master_info_index::any_slave_sql_running
In well defined C code, the "this" pointer is never NULL. Currently, we
were potentially dereferencing a NULL pointer (master_info_index). GCC v6
removes any "if (!this)" conditions as it assumes this is always a
non-null pointer. In order to prevent undefined behaviour, check the
pointer before dereferencing and remove the check within member
functions.
2016-08-23 21:24:36 +03:00
Monty
4da2b83af7 Fixed compiler error and some warnings on windows 2016-08-23 15:03:31 +03:00
Nirbhay Choubey
2024cddaa4 MDEV-10518: Large wsrep_gtid_domain_id may break IST
wsrep_gtid_domain_id was incorrectly being parsed and stored
as a signed long number on the joiner node.
2016-08-22 21:27:20 -04:00
Nirbhay Choubey
3ac0721a3c MDEV-10507: MariaDB 10.1 + wsrep fails to start under systemd post-reboot
/var/run/mysqld must be created before wsrep recovery.
2016-08-22 19:06:32 -04:00
Nirbhay Choubey
294961cc4d MDEV-10538: MariaDB fails to start without galera_recovery in systemd mode
Update ExecStartPre scripts to not fail if 'galera_recovery'
script is not available.
2016-08-22 18:38:06 -04:00
Monty
a5051cd3b2 Minor cleanups
- Remove impossible test in test_quick_select
- Ensure that is_fatal_error is set if we run out of stack space
2016-08-22 10:19:07 +03:00
Monty
b51109693e MDEV-10630 rpl.rpl_mdev6020 fails in buildbot with timeout
The issue was that when running with valgrind the wait for master_pos_Wait()
was not long enough.

This patch also fixes two other failures that could affect rpl_mdev6020:
- check_if_conflicting_replication_locks() didn't properly check domains
- 'did_mark_start_commit' was after signals to other threads was sent which could
  get the variable read too early.
2016-08-22 10:16:00 +03:00
Nirbhay Choubey
f381ad5230 Update WSREP_PATCH_REVNO. 2016-08-21 20:13:51 -04:00
Nirbhay Choubey
3f481e52e4 Fixes for failing tests (post-merge). 2016-08-21 20:09:05 -04:00
Nirbhay Choubey
cced23cf23 MDEV-9423: cannot add new node to the cluser: Binlog..
.. file '/var/log/mysql/mariadb-bin.000001' not found in binlog
index, needed for recovery. Aborting.

In Galera cluster, while preparing for rsync/xtrabackup based
SST, the donor node takes an FTWRL followed by (REFRESH_ENGINE_LOG
in rsync based state transfer and) REFRESH_BINARY_LOG. The latter
rotates the binary log and logs Binlog_checkpoint_log_event
corresponding to the penultimate binary log file into the new file.
The checkpoint event for the current file is later logged
synchronously by binlog_background_thread.

Now, since in rsync/xtrabackup based snapshot state transfer methods,
only the last binary log file is transferred to the joiner node; the
file could get transferred even before the checkpoint event for the
same file gets written to it. As a result, the joiner node would fail
to start complaining about the missing binlog file needed for recovery.

In order to fix this, a mechanism has been put in place to make
REFRESH_BINARY_LOG operation wait for Binlog_checkpoint_log_event
to be logged for the current binary log file if the node is part of
a Galera cluster. As further safety, during rsync based state transfer
the donor node now acquires and owns LOCK_log for the duration of file
transfer during SST.
2016-08-21 16:20:09 -04:00
sjaakola
415823a41c Refs: MW-279
- fixes in innodb to skip wsrep processing (like kill victim) when running in native mysql mode
- similar fixes in mysql server side
- forcing tc_log_dummy in native mysql mode when no binlog used. wsrep hton messes up handler counter
  and used to lead in using tc_log_mmap instead. Bad news is that tc_log_mmap does not seem to work at all
2016-08-21 16:20:09 -04:00
Damien Ciabrini
fec296cc10 refs codership/mysql-wsrep#267
Fix Galera crash at startup when compiled with gcc 6
2016-08-21 16:20:08 -04:00
Philip Stoev
2e56c7f3cd Bump WSREP_PATCH_VERSION to 16 2016-08-21 16:20:08 -04:00