- 17 Feb, 2018 4 commits
-
-
Monty authored
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.
-
Monty authored
TokuDB uses USE_VALGRIND while MariaDB uses HAVE_valgrind Fixed by defining USE_VALGRIND in TokuDB if HAVE_valgrind is used
-
Monty authored
-
Marko Mäkelä authored
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.
-
- 16 Feb, 2018 3 commits
-
-
Sergey Vojtovich authored
-
Jan Lindström authored
MDEV-9962: encryption.innodb_encryption_filekeys stalled waiting for key encryption threads to decrypt all required spaces Test changes.
-
Jan Lindström authored
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.
-
- 14 Feb, 2018 1 commit
-
-
Alexey Yurchenko authored
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.
-
- 13 Feb, 2018 2 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
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.
-
- 10 Feb, 2018 2 commits
-
-
Alexey Botchkov authored
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.
-
Alexander Barkov authored
-
- 09 Feb, 2018 3 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Jan Lindström authored
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.
-
- 08 Feb, 2018 8 commits
-
-
Sergei Golubchik authored
add a test that restores the data from a binlog
-
Sergei Golubchik authored
Fix reinit_io_cache(WRITE_CACHE) with non-zero seek_offset. Run encryption.tempfiles with and without binlog checksums.
-
Sergei Golubchik authored
-
Vicențiu Ciorbaru authored
The update was lost during merge.
-
Jan Lindström authored
Timing problem as sometimes table is marked as encrypted but sometimes we are not sure and table is just marked missing.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Before killing the server, we have to FLUSH TABLES in order to prevent the corruption of any MyISAM system tables.
-
Marko Mäkelä authored
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 https://github.com/mysql/mysql-server/commit/03f81a55f221095d397c375afe8a10c8038da339
-
- 07 Feb, 2018 1 commit
-
-
Oleksandr Byelkin authored
Use unsigned comparison.
-
- 06 Feb, 2018 3 commits
-
-
Daniel Bartholomew authored
-
Sergei Golubchik authored
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.
-
Sergei Golubchik authored
-
- 05 Feb, 2018 3 commits
-
-
Sergei Golubchik authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
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).
-
- 04 Feb, 2018 1 commit
-
-
Elena Stepanova authored
-
- 03 Feb, 2018 5 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Previously, the function could theoretically return an uninitialized value if the system tablespace contained no data files. It should be impossible for InnoDB to start up in such scenario.
-
Marko Mäkelä authored
xtrabackup_init_temp_log(): Remove a redundant variable and limit scope.
-
Marko Mäkelä authored
-
Sergei Golubchik authored
-
- 02 Feb, 2018 4 commits
-
-
Marko Mäkelä authored
The merge omitted some InnoDB and XtraDB conflict resolutions, most notably, failing to merge the fix of MDEV-12173. ibuf_merge_or_delete_for_page(), lock_rec_block_validate(): Invoke fil_space_acquire_silent() instead of fil_space_acquire(). This fixes MDEV-12173. wsrep_debug, wsrep_trx_is_aborting(): Removed unused declarations. _fil_io(): Remove. Instead, declare default parameters for the XtraDB fil_io(). buf_read_page_low(): Declare default parameters, and clean up some callers. os_aio(): Correct the macro that is defined when !UNIV_PFS_IO.
-
Vicențiu Ciorbaru authored
-
Oleksandr Byelkin authored
-
Sergei Golubchik authored
* use a longer timeout, 10ms is not always enough * stop waiting as long as the data is read, do not unconditionally wait for timeout every time
-