Commit graph

179554 commits

Author SHA1 Message Date
Marko Mäkelä
112df06996 MDEV-15529 IMPORT TABLESPACE unnecessarily uses the doublewrite buffer
fil_space_t::atomic_write_supported: Always set this flag for
TEMPORARY TABLESPACE and during IMPORT TABLESPACE. The page
writes during these operations are by definition not crash-safe
because they are not written to the redo log.

fil_space_t::use_doublewrite(): Determine if doublewrite should
be used.

buf_dblwr_update(): Add assertions, and let the caller check whether
doublewrite buffering is desired.

buf_flush_write_block_low(): Disable the doublewrite buffer for
the temporary tablespace and for IMPORT TABLESPACE.

fil_space_set_imported(), fil_node_open_file(), fil_space_create():
Initialize or revise the space->atomic_write_supported flag.

buf_page_io_complete(), buf_flush_write_complete(): Add the parameter
dblwr, to indicate whether doublewrite was used for writes.

buf_dblwr_sync_datafiles(): Remove an unnecessary flush of
persistent tablespaces when flushing temporary tablespaces.
(Move the call to buf_dblwr_flush_buffered_writes().)
2018-03-10 11:54:34 +02:00
Marko Mäkelä
54765aaa4d MDEV-15524 Do not disable page checksums for temporary tables
buf_flush_init_for_writing(): Remove the parameter skip_checksum.
2018-03-10 11:54:34 +02:00
Marko Mäkelä
4fa18d52b5 MDEV-15524 Do not write garbage for temporary tables
fsp_init_file_page_low(): Always initialize the page.
2018-03-10 11:54:34 +02:00
Marko Mäkelä
1e4cb8403c buf_page_io_complete(): Minor code cleanup 2018-03-10 11:54:34 +02:00
Jan Lindström
aec4734f61 MDEV-13935: INSERT INTO stuck at state "Unlocking tables"
There were some differences on MariaDB compared with MySQL.
Fix these differences.
2018-03-08 12:25:01 +02:00
Ian Gilfillan
a050189773 MDEV-15474 Update server.cnf section to mariadb-10.2 2018-03-07 17:13:03 +04:00
Elena Stepanova
8f98835bb8 MDEV-15448 Remove "innodb_additional_mem_pool_size" setting from my-innodb-heavy-4G.cnf file 2018-03-03 01:59:52 +02:00
Alexander Barkov
d0cc7a5225 MDEV-15420 Wrong result for CAST from TIME or DATETIME with zero integer part and non-zero microseconds to DECIMAL(X,Y)
The loop in ull2dec() does not iterate if "from" is zero,
so to->intg got erroneously set to 0 instead of 1.
Because if this, my_decimal2seconds() wrote the fractional
part into a wrong buf[x].

Catching the special case with zero "from" and properly initialize "to"
using decimal_make_zero().
2018-02-25 23:59:01 +04:00
Jan Lindström
e826d1e64d MDEV-14814: encryption.innodb_encryption-page-compression failed in buildbot with timeout on wait condition
Fix wrong wait condition.
2018-02-24 22:39:21 +02:00
Sergei Golubchik
e92cc09765 MDEV-15345 Compilation fails to build my_addr_resolve.c
fix the compilation error.
no support for plugins yet.
2018-02-22 16:46:11 +01:00
Sergei Golubchik
e4a73acc63 Merge branch '10.1' into 10.2 2018-02-22 16:46:02 +01:00
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
e119799a92 fix compilation wih -DPLUGIN_PARTITION=NO
rocksdb and spider
2018-02-22 08:40:54 +01:00
Sergei Golubchik
2daa005800 Merge branch '10.1' into 10.2 2018-02-22 08:39:24 +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
Sergei Petrunia
db0484f355 Change MyRocks Maturity Level from Beta to Gamma (RC) 2018-02-21 17:27:46 +03: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 Petrunia
00a556c0c2 MDEV-15372: Parallel slave speedup very limited when log_slave_updates=OFF
Part #2: some transactions have m_rocksdb_tx==NULL (and most functions of
Rdb_transction_impl handle this case. Do like they do)
2018-02-21 17:00:03 +03:00
Sergei Golubchik
88d1c1c551 MDEV-15288 Configure errors when building without INNOBASE 2018-02-21 14:42:56 +01:00
Sergei Petrunia
01e89d6a86 MDEV-15372: Parallel slave speedup very limited when log_slave_updates=OFF
Make MyRocks' non-XA commit path to first do the commit without syncing
and then sync.
2018-02-21 15:42:34 +03: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
Galina Shalygina
a128fe4346 MDEV-14297: Lost name of a explicitly named CTE column used in
the non-recursive CTE via prepared statement

The problem appears as the column names of the CTE were allocated on the
wrong MEMROOT and after the preparation of the statement they disappear.

To fix it in the procedure With_element::rename_columns_of_derived_unit
the CTE column names are now allocated in the permanent MEMROOT for the
prepared statements and stored procedures.
2018-02-20 01:16:50 +02:00
Vladislav Vaintroub
84e8e07e8e Revert "Fix 2 more VS2015 warnings"
This reverts commit 0ea45725d8,
since it breaks clang
2018-02-19 16:38:21 +00:00
Vladislav Vaintroub
0ea45725d8 Fix 2 more VS2015 warnings 2018-02-19 15:22:24 +00:00
Marko Mäkelä
852c35f571 MDEV-11581 follow-up fix: Correct a condition
fsp_fill_free_list(): Correctly determine whether the temporary
tablespace file should be extended in order to respond to a
page allocation request. The inverted condition was noticed
by Thiru when he analyzed MDEV-13013.
2018-02-19 14:58:05 +02:00
Sergey Vojtovich
83b471348d MDEV-14318 - cmake updates to build on arm64
Added more files affected by GCC ICE:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67143
2018-02-19 16:51:15 +04:00
Sergey Vojtovich
b697f213a7 MDEV-14541 - Workaround GCC ICE on ARM64
Added missing include.
2018-02-19 13:53:35 +04:00
Marko Mäkelä
112cb56182 Add suppressions for background page read errors 2018-02-19 08:59:36 +02:00
Marko Mäkelä
3c419fde5f Cleanup after commit ac8e3c85a4
srv_conc_t::n_active: Correct the comment, and remove an
assertion that trivially holds now that the type is unsigned.
2018-02-19 08:58:22 +02: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
Vladislav Vaintroub
acab33a1f2 Merge branch '10.2-backup-fixes' into 10.2 2018-02-18 10:49:46 +00:00
Vladislav Vaintroub
e917188f99 Merge branch 'bb-10.2-wlad' into 10.2-backup-fixes 2018-02-18 10:47:23 +00: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ä
970ce270c9 Merge 10.1 into 10.2
Disable the test encryption.innodb_encryption-page-compression
because the wait_condition would seem to time out deterministically.
MDEV-14814 has to be addressed in 10.2 separately.

Datafile::validate_first_page(): Do not invoke
page_size_t::page_size_t(flags) before validating the tablespace flags.
This avoids a crash in MDEV-15333 innodb.restart test case.
FIXME: Reduce the number of error messages. The first one is enough.
2018-02-17 14:54:12 +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
Marko Mäkelä
8bf2c08d54 Add a suppression for background page read error 2018-02-16 21:02:35 +02:00
Sergey Vojtovich
a351f40cba MDEV-14541 - Workaround GCC ICE on ARM64 2018-02-16 14:14:43 +04:00
Alexander Barkov
6668da2216 MDEV-15289 Binding an out-of-range DATETIME value in binary protocol breaks replication 2018-02-16 13:44:24 +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