Commit graph

9303 commits

Author SHA1 Message Date
Vicențiu Ciorbaru
afc2fb1bf8 MDEV-8627: SHOW GRANTS does not work for a replicated role
The bug was caused by accessing uninitialized fields within the LEX related to
ssl by mysql_show_grants() -> get_current_user() -> has_auth() function.
2015-12-21 13:42:19 +02:00
Nirbhay Choubey
58b54b7d1a MDEV-9044 : Binlog corruption in Galera
While refreshing the IO_CACHE, do not update its parameters (read_pos,
read_end & pos_in_file) if there is nothing left to read.
2015-12-18 14:35:56 -05:00
Jan Lindström
477c84d51e Add new sysvar. 2015-12-15 11:34:20 +02:00
Jan Lindström
efeb905736 Rename test files. 2015-12-15 09:46:53 +02:00
Jan Lindström
16f0d996c3 Merge pull request #125 from grooverdan/MDEV-8923_innodb_buffer_pool_dump_pct
MDEV-8923: port innodb_buffer_pool_dump_pct from MySQL

WL#6504 InnoDB buffer pool dump/load enchantments

This patch consists of two parts:

1. Dump only the hottest N% of the buffer pool(s)
2. Prevent hogging the server duing BP load

From MySQL - commit b409342c43ce2edb68807100a77001367c7e6b8e

Add testcases for innodb_buffer_pool_dump_pct.

Part of the code authored by Daniel Black.
2015-12-15 08:53:57 +02:00
Monty
44b107da90 Fixed a bug in galera + some failing galera tests
- Added missning setting of table->rpl_write_set in record_gtid(), required by galera
- Removed output of WSREP_PATCH_VERSION from galera_defaults, as this can change over time
- Limit galera_many_tables_pk and galera_many_tables_nopk to 900, as
  on many systems the default open table limit is 1024
2015-12-10 12:39:54 +02:00
Daniel Black
804a59e408 MDEV-8923: innodb_buffer_pool_dump_pct add test cases
Add testcases for innodb_buffer_pool_dump_pct
2015-11-29 18:10:58 +11:00
Nirbhay Choubey
22b594267c MDEV-9033: Incorrect statements binlogged on slave with do_domain_ids=(...)
Post-fix: The test case pushed with the fix had each node
acting as slave to the other two nodes with different set
of filters on server_id's. The slave's gtid_slave_pos is
updated after it processes the events received from master
nodes irrespective of whether the events were filtered
or not. Thus, sync_with_master_gtid.inc could unblock even
on filtered events.
As a result, sync_with_master_gtid.inc would fail to block
until the desired changes have been replicated.  Fixed by
simplifying the topology.
Also, modified CHANGE MASTER commands to ignore based
on gtid_domain_id instead of server_id.
2015-11-23 16:23:10 -05:00
Sergei Golubchik
87c306802b update test results 2015-11-20 09:16:36 +01:00
Sergei Golubchik
7f19330c59 Merge branch 'github/10.0-galera' into 10.1 2015-11-19 17:48:36 +01:00
Sergei Golubchik
4046ed12bc rbr and savepoint in a subtatement
Apply MySQL fix for bug#76727:
https://github.com/mysql/mysql-server/commit/69d4e72c

  Bug#20901025: SLAVE ASSERTION IN UNPACK_ROW WITH ROLLBACK TO
  SAVEPOINT IN ERROR HANDLER
2015-11-19 17:04:19 +01:00
Sergei Golubchik
beded7d9c9 Merge branch '10.0' into 10.1 2015-11-19 15:52:14 +01:00
Sergei Golubchik
ab476a8d10 Merge branch '5.5' into 10.0 2015-11-18 22:03:02 +01:00
Monty
f383cbcb03 Added some selects to rpl_parallel2.test to find out where it fails in buildbot 2015-11-18 14:46:30 +02:00
Sergei Golubchik
43a5090980 MDEV-9051 mysqld got signal 11, after upgrade to 10.1.8
feedback plugin needs to set tables->select_lex properly
2015-11-18 11:23:15 +01:00
Sergei Golubchik
726162989b feedback plugin debug
make it possible to change feedback plugin wait intervals
* only in debug builds
* and force the feedback report to be ignored

update the test to use this feature
2015-11-18 11:23:15 +01:00
Nirbhay Choubey
f47124c9ef Incorrect statements binlogged on slave with do_domain_ids=(...)
In domain ID based filtering, a flag is used to filter-out
the events that belong to a particular domain. This flag gets
set when IO thread receives a GTID_EVENT for the domain on
filter list and its reset at the last event in the GTID group.
The resetting, however, was wrongly done before the decision to
write/filter the event from relay log is made. As a result, the
last event in the group will always pass through the filter.
Fixed by deferring the reset logic. Also added a test case.
2015-11-18 02:11:20 -05:00
Jan Lindström
c0216f1d02 MDEV-9099: Test encryption.innodb_encryption_discard_import fails on buildbot 2015-11-17 09:46:40 +02:00
Nirbhay Choubey
f4421c893b Fix for some failing tests. 2015-11-16 12:39:56 -05:00
Sergei Golubchik
a716433da3 MDEV-7298 plugins.cracklib_password_check test fails
remove the test that depended on the current cracklib dictionary
2015-11-16 07:55:55 +01:00
Nirbhay Choubey
dcb7996cb7 Fix/disable failing tests. 2015-11-15 17:24:47 -05:00
Kristian Nielsen
d85490afab Merge branch 'bb-10.1-knielsen' into 10.1 2015-11-14 10:19:53 +01:00
Kristian Nielsen
8f2e05f41c Merge branch 'mdev7818-4' into 10.1
Conflicts:
	mysql-test/suite/perfschema/r/stage_mdl_global.result
	sql/rpl_rli.cc
	sql/sql_parse.cc
2015-11-13 14:24:40 +01:00
Kristian Nielsen
6bf88cdd9d Merge branch 'mdev7818-4' into bb-10.0-knielsen 2015-11-13 14:08:38 +01:00
Elena Stepanova
1e63a81a3b Follow-up for a change MDEV-9040: fixed the 32-bit rdiff 2015-11-13 15:07:45 +02:00
Kristian Nielsen
ba02550166 MDEV-7818: Deadlock occurring with parallel replication and FTWRL
Problem is that FLUSH TABLES WITH READ LOCK first blocks threads from
starting new commits, then waits for running commits to complete. But
in-order parallel replication needs commits to happen in a particular
order, so this can easily deadlock.

To fix this problem, this patch introduces a way to temporarily pause
the parallel replication worker threads. Before starting FTWRL, we let
all worker threads complete in-progress transactions, and then
wait. Then we proceed to take the global read lock. Once the lock is
obtained, we unpause the worker threads. Now commits are blocked from
starting by the global read lock, so the deadlock will no longer occur.
2015-11-13 14:02:15 +01:00
Sergei Petrunia
2776159e42 MDEV#7383: Update test results 2015-11-12 22:21:47 +03:00
Monty
2f63e2e2a0 MDEV-8426 mysqlbinlog: "Corrupted replication event was detected.
Not printing the value" with binlog-row-image=minimal"

Merged Rows_log_event::print_verbose_one_row() and log_event_print_value()
with MySQL 5.7
Added flush after writing of Table_map_log_event() to fix wrong order of
lines in output. This causes a lot of changes in some test results.
2015-11-10 13:46:57 +02:00
Monty
78ffeaa988 Fix that one can run rpl_binlog_errors with --debug 2015-11-10 13:46:57 +02:00
Nirbhay Choubey
7ec6558503 MDEV-9021: MYSQLD SEGFAULTS WHEN BUILT USING --WITH-MAX-INDEXES=128
The bitmap implementation defines two template Bitmap classes. One
optimized for 64-bit (default) wide bitmaps while the other is used for
all other widths.

In order to optimize the computations, Bitmap<64> class has defined its
own member functions for bitmap operations, the other one, however,
relies on mysys' bitmap implementation (mysys/my_bitmap.c).

Issue 1:
In case of non 64-bit Bitmap class, intersect() wrongly reset the
received bitmap while initialising a new local bitmap structure
(bitmap_init() clears the bitmap buffer) thus, the received bitmap was
getting cleared.

Fixed by initializing the local bitmap structure by using a temporary
buffer and later copying the received bitmap to the initialised bitmap
structure.

Issue 2:
The non 64-bit Bitmap class had the Iterator missing which caused
compilation failure.

Also added a cmake variable to hold the MAX_INDEXES value when supplied
from the command prompt. (eg. cmake .. -DMAX_INDEXES=128U). Checks have
been put in place to trigger build failure if MAX_INDEXES value is
greater than 128.

Test modifications:
* Introduced include/have_max_indexes_[64|128].inc to facilitate
skipping of tests for which the output differs with different
MAX_INDEXES.

* Introduced include/max_indexes.inc which would get modified by cmake
to reflect the MAX_INDEXES value used to build the server. This file
simply sets an mtr variable '$max_indexes' to show the MAX_INDEXES
value, which will then be consumed by the above introduced include file.

* Some tests (portions), dependent on MAX_INDEXES value, have been moved
to separate test files.
2015-11-09 09:28:00 -05:00
Jan Lindström
5d754fce95 MDEV-8854: New warning messages are unreadable
Improved warning messages by quote marks.
2015-11-09 09:24:52 +02:00
Elena Stepanova
125cf485b1 Fixed engine test results in accordance with changes made in scope of
commit 6b20342651
2015-11-06 17:52:57 +02:00
Jan Lindström
25f8738112 MDEV-9040: 10.1.8 fails after upgrade from 10.0.21
Analysis: Lengths which are not UNIV_SQL_NULL, but bigger than the following
number indicate that a field contains a reference to an externally
stored part of the field in the tablespace. The length field then
contains the sum of the following flag and the locally stored len.

This was incorrectly set to

define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_MAX)

When it should be

define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_DEF)

Additionally, we need to disable support for > 16K page size for
row compressed tables because a compressed page directory entry
reserves 14 bits for the start offset and 2 bits for flags.
This limits the uncompressed page size to 16k. To support
larger pages page directory entry needs to be larger.
2015-11-05 10:30:48 +02:00
Nirbhay Choubey
e947a52697 Update global_suppressions. 2015-11-04 21:58:07 -05:00
Jan Lindström
6189951003 MDEV-9063: encryption.innodb-log-encrypt produces warnings in error logs on builds with bundled SSL
Test used aes_ctr that is not available everywhere when aes_cbc is fine also
for this test.
2015-11-03 16:03:25 +02:00
Nirbhay Choubey
4d15112962 Merge tag 'mariadb-10.0.22' into 10.0-galera 2015-10-31 18:07:02 -04:00
Jan Lindström
81d35841bd MDEV-9011: Redo log encryption does not work
Redo log encryption used too short buffer when getting
encryption keys.
2015-10-30 13:12:30 +02:00
Alexander Barkov
59dd58b17e MDEV-8692 prefschema test failures on ARM (on Debian build system)
A few tests assumes that the CYCLE timer is always available,
which is not true on some platforms (e.g. ARM).
Fixing the tests not to reply on the CYCLE availability.
2015-10-30 10:10:43 +04:00
Sergei Golubchik
937aa7ad77 MDEV-9010 Encryption preset file contains different configuration preset then documentation
* clarify the comment in the preset file
* make boolean --aria-encrypt-tables option to work without an argument
2015-10-29 10:46:37 +01:00
Jan Lindström
9164a24311 Test debug_key_management fails sporadically in buildbot.
Problem is that we expect key_version to be increasing so
before we reset debug_key_management plugin key_version
disable encryption.
2015-10-29 10:35:37 +02:00
Jan Lindström
1108c1ca5c MDEV-8950: encryption.innodb_encryption_discard_import fails sporadically in buildbot
At least some of the failures where due to fact that TMPDIR contained
old file.
2015-10-28 14:30:30 +02:00
Aditya A
e1ed331cea MDEV-8805 - Assertion `!m_ordered_rec_buffer' failed in
ha_partition::init_record_priority_queue()

Cherry-pick rev.6b0ee0c795499cee7f9deb649fb010801e0be4c2 from mysql-5.6.

Bug #18305270  BACKPORT BUG#18694052 FIX
               FOR ASSERTION `!M_ORDERED_REC_BUFFER'
               FAILED TO 5.6

PROBLEM
-------
Missed to remove record priority queue if
init_index failed for a partition which
was causing the crash.

FIX
---
Remove priority queue if init_index fails
for partition.
2015-10-28 12:09:55 +04:00
Jan Lindström
13884cf206 MDEV-8696: Adding indexes on empty table is slow with large innodb_sort_buffer_size.
Analysis: Current implementation will write and read at least one block
(sort_buffer_size bytes) from disk / index even if that block does not
contain any records.

Fix: Avoid writing / reading empty blocks to temporary files (disk).
2015-10-27 13:00:15 +02:00
Monty
d546d1cc13 Fixed MDEV-8408
Assertion `inited==INDEX' failed in int handler::ha_index_first(uchar*)

The crash was because errors from init_read_record_idx() was not taken care of.
2015-10-23 18:49:02 +03:00
Sergei Golubchik
6f0754789c MDEV-8614 Assertion `status == 0' failed in add_role_user_mapping_action on RENAME USER
don't forget to re-examine the current element when updating a HASH
2015-10-22 13:09:38 +02:00
Sergei Golubchik
956e92d908 MDEV-8609 Server crashes in is_invalid_role_name on reloading ACL with a blank role name
strip endspaces from the role name in the parser
because they'll be lost anyway when the name is stored
in the mysql.user.user column (of type CHAR)
2015-10-22 11:58:54 +02:00
Sergei Golubchik
27328ca1f4 add comment to a test 2015-10-22 10:27:36 +02:00
Sergei Golubchik
dfb74dea30 Merge branch '10.0' into 10.1 2015-10-12 00:37:58 +02:00
Sergei Golubchik
b4fad1f18d fix feedback plugin tests 2015-10-11 07:57:40 +02:00
Sergei Golubchik
c4e336e01e fix the encryption.filekeys_nofile test
and move the error reporting where it belongs
2015-10-10 14:19:02 +02:00