Commit graph

176482 commits

Author SHA1 Message Date
Sergei Golubchik
a04e4f531a Merge branch '10.0' into 10.1 2018-02-22 14:12:02 +01:00
Jan Lindström
504beb1325 Add supressions for possible warning. 2018-02-22 14:22:44 +02:00
Sergei Golubchik
b728641e86 Merge branch '5.5' into 10.0 2018-02-22 09:22:03 +01:00
Sergei Golubchik
5d8ac1ece1 log all mtr output in vardir/log/stdout.log
despite the name, it logs both stdout and stderr
2018-02-21 17:48:25 +01:00
Sergei Golubchik
50359719f0 fix compilation -DWITH_PERFSCHEMA=NO
tokudb apparently requires perfschema now
2018-02-21 17:48:25 +01:00
Sergei Golubchik
18455ec3f1 fix compilation wih -DPLUGIN_PARTITION=NO 2018-02-21 17:48:25 +01:00
Daniel Black
4e6dab94d0 MDEV-10.1.31 does not join an existing cluster with SST xtrabackup-v2
Analysis:- The problem  is the change in the implementation of wait_for_listen
in wsrep_sst_xtrabackup-v2.sh. The new script uses lsof which will always
exit with an error code if it can't find all the items, and because the
script has the -e option set in the hashbang line (#!/bin/bash -ue), the
script will abort right after running lsof if lsof can't find even a single
item among all the items listed in its arguments. This will happen even if
socat is running and listening, because it can't find nc. The loop in
wait_for_listen will therefore always quit after one iteration without
writing the "ready" line to signal the parent.

Solution:- We will or the lsof with true.

Patch Credit :Daniel Black and David Wang
2018-02-21 19:48:18 +05:30
Sergei Golubchik
88d1c1c551 MDEV-15288 Configure errors when building without INNOBASE 2018-02-21 14:42:56 +01:00
Vladislav Vaintroub
56d6776524 Windows : remove freopen(), "to keep fd = 0 busy".
a) We do not need this on Windows, and it is not clear what it does,inside
service.

b) It hinders debugging.
mysql-test-run.pl --debugger=vsjitdebugger more often than , would stop here
throwing "invalid handle" exception.
2018-02-20 20:03:23 +00:00
Jan Lindström
c3a3b77f9a Disable failing Galera tests:
* galera_gtid_slave
* galera_unicode_identifiers
2018-02-20 09:27:31 +02:00
Jan Lindström
3a7126cbb7 Disable galera_gtid until 1047: WSREP has not yet prepared node for application use is fixed. 2018-02-20 09:18:33 +02:00
Sergey Vojtovich
b697f213a7 MDEV-14541 - Workaround GCC ICE on ARM64
Added missing include.
2018-02-19 13:53:35 +04:00
Jan Lindström
7a84688e2c MDEV-14814: encryption.innodb_encryption-page-compression failed in buildbot with timeout on wait condition
Test changes only.
2018-02-19 08:06:32 +02:00
Jan Lindström
9ea3ad6d75 Disable failing test. 2018-02-18 07:32:19 +02:00
Jan Lindström
0e8cb572f1 Fix innodb_encryption-page-compression test by force flushing dirty
pages.
2018-02-17 19:28:32 +02:00
Monty
55bc3f1dd9 Fixed performance problem with Aria in find_head()
For some simple benchmarks, a majority of time was
spend in find_head() which tries to find the best
place to put the record.

The result of this patch is a 2x or more speedup for
inserts without keys for format PAGE. All changes
are only related to how rows are stored

Should fix some of the problems mentioned in:
MDEV-8132 Temporary tables using Aria with very poor performance
MDEV-9079 Aria very slow for internal temporary tables
MDEV-5841 Mariadb very poor temporary performance

The following changes where done:
- For rows with a small row length that fits into
  a page (818 bytes with 8192 pages), stop as soon as we
  hit a match.
- Added markers full_head_size and full_tail_size that tells
  us where to start searching on the bitmap page
- Ensure that page->used_size is correctly updated when
  bitmap grows. This allows us to stop searching at used_size
- Added code to check that the bitmap variables are correct.
- Fixed a wrong test where we set "first_bitmap_with_space".
  This shouldn't have caused any notable problems.
2018-02-17 18:04:59 +02:00
Monty
965e16376c TokuDB didn't compile with valgrind
TokuDB uses USE_VALGRIND while MariaDB uses HAVE_valgrind

Fixed by defining USE_VALGRIND in TokuDB if HAVE_valgrind is used
2018-02-17 18:04:59 +02:00
Monty
f853b8ed26 partition_alter_myisam produces warning if no symlink support 2018-02-17 18:04:58 +02:00
Marko Mäkelä
9a46d97149 MDEV-15333 MariaDB (still) slow start
This performance regression was introduced in the MariaDB 10.1
file format incompatibility bug fix MDEV-11623 (MariaDB 10.1.21
and MariaDB 10.2.4) and partially fixed in MariaDB 10.1.25 in
MDEV-12610 without adding a regression test case.

On a normal startup (without crash recovery), InnoDB should not read
every .ibd data file, because this is slow. Like in MySQL, for now,
InnoDB will still open every data file (without reading), and it
will read every .ibd file for which an .isl file exists, or the
DATA DIRECTORY attribute has been specified for the table.

The test case shuts down InnoDB, moves data files, replaces them
with garbage, and then restarts InnoDB, expecting no messages to
be issued for the garbage files. (Some messages will for now be
issued for the table that uses the DATA DIRECTORY attribute.)
Finally, the test shuts down the server, restores the old data files,
and restarts again to drop the tables.

fil_open_single_table_tablespace(): Remove the condition on flags,
and only call fsp_flags_try_adjust() if validate==true
(reading the first page has been requested). The only caller with
validate==false is at server startup when we are processing all
records from SYS_TABLES. The flags passed to this function are
actually derived from SYS_TABLES.TYPE and SYS_TABLES.N_COLS,
and there never was any problem with SYS_TABLES in MariaDB 10.1.
The problem that MDEV-11623 was that incorrect tablespace flags
were computed and written to FSP_SPACE_FLAGS.
2018-02-17 14:20:33 +02:00
Sergey Vojtovich
a351f40cba MDEV-14541 - Workaround GCC ICE on ARM64 2018-02-16 14:14:43 +04:00
Jan Lindström
21e5335154 MDEV-9962: encryption.innodb_encryption_filekeys stalled waiting for key encryption threads to decrypt all required spaces
Test changes.
2018-02-16 10:19:57 +02:00
Jan Lindström
d3fbff38b9 MDEV-14814: encryption.innodb_encryption-page-compression failed in buildbot with timeout on wait condition
Problem is that if pages are in buffer pool there is no need for
decrypt or page decompression operations.
2018-02-16 08:21:19 +02:00
Sergei Golubchik
7bd258c44c fix plugins.server_audit test for --ps 2018-02-15 10:06:14 +01:00
Sergei Golubchik
03de234baf MDEV-13982 Server crashes in in ha_partition::engine_name
use the correct handlerton when looking for TRANSACTIONAL=1 support
2018-02-14 19:12:23 +01:00
Sergei Golubchik
2709380587 MDEV-13748 Assertion `status_var.local_memory_used == 0 || !debug_assert_on_not_freed_memory' failed in virtual THD::~THD after query with INTERSECT
my_safe_alloca()/my_safe_afree() work as alloca() or malloc()/free()
depending on the memory size to allocate, that is, depending on
reclength here. They only work correctly if reclength doesn't
change in the middle.
2018-02-14 18:41:37 +01:00
Alexey Yurchenko
a33c9a07e5 GAL-506 breaks galera_defaults MTR test by upping repl.proto_max again. Fix this once and for all by overwriting it with constant string since it makes little sense to check for it in this test. 2018-02-14 09:58:18 +02:00
Marko Mäkelä
2202afd541 Merge 10.0 into 10.1 2018-02-13 14:32:17 +02:00
Marko Mäkelä
c051eaba46 MDEV-14988 innodb_read_only tries to modify files if transactions were recovered in COMMITTED state
lock_trx_release_locks(): Relax a debug assertion to allow
recovered TRX_STATE_COMMITTED_IN_MEMORY transactions.

trx_commit_in_memory(): Add DEBUG_SYNC instrumentation.

trx_undo_insert_cleanup(): Skip persistent changes if innodb_read_only
is set. This should only happen when a recovered committed transaction
would be cleaned up at shutdown.
2018-02-13 14:29:32 +02:00
Sergei Golubchik
c8afe7daac cleanup: remove a duplicated test case 2018-02-11 18:36:54 +01:00
Sergei Golubchik
7c6cf7fefe bug: ha_heap was unilaterally increasing reclength
proper fix replacing the hack from b80fa4000d

don't confuse length of the data area (reclength) with the
offset to the "deleted" mark.
2018-02-11 18:36:54 +01:00
Alexey Botchkov
b88542681b MDEV-14611 ALTER TABLE EXCHANGE PARTITION does not work properly when used with DATA DIRECTORY.
When table is renamed, the InnoDB's dictionary cache didn't
        change the ib_table->data_dir_path accordingly.
        Now it's set to NULL.
2018-02-10 22:17:49 +04:00
Alexander Barkov
a2feeb3d6f After-merge fixes for "sys_vars.sysvars_innodb '32bit,xtradb'" test results. 2018-02-10 21:51:24 +04:00
Alexander Barkov
e07451f71f Merge remote-tracking branch 'origin/10.0' into 10.1 2018-02-10 00:06:10 +04:00
Alexander Barkov
b0a92333c0 MDEV-15262 Wrong results for SELECT..WHERE non_indexed_datetime_column=indexed_time_column 2018-02-09 19:47:00 +04:00
Jan Lindström
564891c532 MDEV-14508: encryption.innodb-compressed-blob failed in buildbot, assertion in btr0cur.cc line 1398
Before that line there is call to buf_page_get_gen that could
return block = NULL when decrypting a page fails. However,
we should set error to be != DB_SUCCESS also. In error log
there was error about decompression but in that code there
is one case where error is not set correctly.
2018-02-09 17:17:32 +02:00
Sergei Golubchik
b75d8453d4 MDEV-14868 MariaDB server crashes after using ROLLBACK TO when encrypt_tmp_files=ON
add a test that restores the data from a binlog
2018-02-08 22:54:37 +01:00
Sergei Golubchik
60dfe12be3 MDEV-14868 MariaDB server crashes after using ROLLBACK TO when encrypt_tmp_files=ON
Fix reinit_io_cache(WRITE_CACHE) with non-zero seek_offset.
Run encryption.tempfiles with and without binlog checksums.
2018-02-08 22:54:37 +01:00
Sergei Golubchik
47d1679ac6 fix encryption.tempfiles to check that encrypt_tmp_files is ON 2018-02-08 22:54:37 +01:00
Vicențiu Ciorbaru
6f0b316fbe Update wrong xtradb version
The update was lost during merge.
2018-02-08 21:12:11 +02:00
Jan Lindström
06d77eb43a MDEV-14427: encryption.innodb-bad-key-change failed in buildbot
Timing problem as sometimes table is marked as encrypted but
sometimes we are not sure and table is just marked missing.
2018-02-08 18:53:01 +02:00
Marko Mäkelä
871f2a6ee2 Merge 10.0 into 10.1 2018-02-08 13:29:08 +02:00
Marko Mäkelä
9216a4f69f Make the test innodb.recovery_shutdown more robust
Before killing the server, we have to FLUSH TABLES in order to
prevent the corruption of any MyISAM system tables.
2018-02-08 13:26:44 +02:00
Marko Mäkelä
5421e3aee7 MDEV-15249 Crash in MVCC read after IMPORT TABLESPACE
PageConverter::adjust_cluster_record(): Instead of writing
the invalid value DB_ROLL_PTR=0, write a value that indicates
a fresh insert, that is, prevents the DB_ROLL_PTR from being
dereferenced in any circumstances.

It can be argued that IMPORT TABLESPACE should actually
update the dict_index_t::trx_id to prevent older transactions
from accessing the table, similar to what I did on table
rebuild in MySQL 5.6.6 in
03f81a55f2
2018-02-08 12:59:32 +02:00
Oleksandr Byelkin
b6455479e5 MDEV-15230: column_json breaks cyrillic in 10.1.31
Use unsigned comparison.
2018-02-07 18:14:45 +01:00
Daniel Bartholomew
b253a0c3a9 bump the VERSION 2018-02-06 12:44:43 -05:00
Sergei Golubchik
0c25e58db6 correctly detect unsupported compiler flags
in gcc `-Wno-unsupported-something` will not be an error or even a warning,
so cmake will think the flag is supported. But if there's any other
warning during compilation, for any reason, unknown option will
be a warning too. Or an error when -Werror, even if that "other warning"
would not be an error on itself.

So we need to detect whether `-Wno-unsupported-something` is *really*
supported. Luckily, `-Wunsupported-something` will always fail with an
error.

So, whenever there's a need to detect if -Wno-something is supported,
test -Wsomething instead.
2018-02-06 12:53:01 +01:00
Sergei Golubchik
4418abb267 cleanup: simplify maintainer.cmake 2018-02-06 02:33:56 +01:00
Sergei Golubchik
7407313f11 silence the annoying compiler warning 2018-02-05 16:04:12 +01:00
Marko Mäkelä
3f42529a6f Merge 10.0 into 10.1 2018-02-05 09:25:33 +02:00
Marko Mäkelä
cb5374801e MDEV-15202 innodb.log_file_size failed in buildbot
Suppress some messages that are emitted rarely
(when the FIL_PAGE_FILE_FLUSH_LSN of the first page of ibdata1
does not match the latest redo log checkpoint).
2018-02-05 09:23:36 +02:00