summaryrefslogtreecommitdiff
path: root/extra/mariabackup
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.4 into 10.5Marko Mäkelä2019-12-271-1/+3
|\
| * Merge 10.3 into 10.4Marko Mäkelä2019-12-271-1/+3
| |\
| | * Merge 10.2 into 10.3Marko Mäkelä2019-12-271-1/+3
| | |\
| | | * MDEV-19176 Reduce the memory usage during recoveryThirunarayanan Balathandayuthapani2019-12-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Moved the recv_sys->heap memory condition inside recv_parse_log_recs(). So that, InnoDB can mark the status as STORE_NO earlier. - InnoDB uses one third of buffer pool chunk size for reading the redo log records. In that case, we can avoid the scenario where buffer ran out of memory issue during recovery.
* | | | MDEV-14024 PCRE2.Alexey Botchkov2019-12-212-3/+4
| | | | | | | | | | | | | | | | Related changes in the server code.
* | | | Merge 10.4 into 10.5Marko Mäkelä2019-12-163-46/+31
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2019-12-131-33/+9
| |\ \ \ | | |/ / | | | | | | | | | | | | We disable the MDEV-21189 test galera.galera_partition because it times out.
| | * | Merge 10.2 into 10.3Marko Mäkelä2019-12-121-33/+9
| | |\ \ | | | |/
| | | * MDEV-21255: Deadlock of parallel slave and mariabackup (with failed logVlad Lesin2019-12-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | copy thread) mariabackup hangs waiting until innodb redo log thread read log till certain LSN, and it waits under FTWRL. If there is redo log read error in the thread, it is finished, and main thread knows nothing about it, what leads to hanging. As it hangs under FTWRL, slave threads on server side can be blocked due to MDL lock conflict. The fix is to finish mariabackup with error message on innodb redo log read failure.
| | | * MDEV-11345 Compile english error messages into mysqld executable.Vladislav Vaintroub2019-12-111-32/+6
| | | | | | | | | | | | | | | | | | | | Simplify loading messages into mariabackup. Do the same as server does We're forcing english, so there is no attempt to load errmsg.sys
| * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2019-12-093-13/+22
| |\ \ \ | | |/ /
| | * | Merge remote-tracking branch 10.2 into 10.3Jan Lindström2019-12-021-11/+20
| | |\ \ | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mysql-test/suite/galera/t/galera_binlog_event_max_size_max-master.opt mysql-test/suite/innodb/r/innodb-mdev-7513.result mysql-test/suite/innodb/t/innodb-mdev-7513.test mysql-test/suite/wsrep/disabled.def storage/innobase/ibuf/ibuf0ibuf.cc
| | | * MDEV-18310: Aria engine: Undo phase failed with "Got error 121 whenVlad Lesin2019-11-291-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | executing undo undo_key_delete" upon startup on datadir restored from incremental backup aria_log* files were not copied on --prepare --incremental-dir step from incremental to destination backup directory.
| | * | Lintian complains on spelling errorFaustin Lammler2019-12-022-2/+2
| | | | | | | | | | | | | | | | | | | | The lintian check complains on spelling error: https://salsa.debian.org/mariadb-team/mariadb-10.3/-/jobs/95739
| * | | Fix a couple of clang-cl warningsVladislav Vaintroub2019-11-151-2/+1
| | | |
* | | | MDEV-21225 Remove ut_align() and use aligned_malloc()Marko Mäkelä2019-12-054-28/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before commit 90c52e5291b3ad0935df7da56ec0fcbf530733b4 introduced aligned_malloc(), InnoDB always used a pattern of over-allocating memory and invoking ut_align() to guarantee the desired alignment. It is cleaner to invoke aligned_malloc() and aligned_free() directly. ut_align(): Remove. In assertions, ut_align_down() can be used instead.
* | | | MDEV-21132 Remove buf_page_t::newest_modificationMarko Mäkelä2019-11-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At each mini-transaction commit, the log sequence number of the mini-transaction must be written to each modified page, so that it will be available in the FIL_PAGE_LSN field when the page is being read in crash recovery. InnoDB was unnecessarily allocating redundant storage for the field, in buf_page_t::newest_modification. Let us access FIL_PAGE_LSN directly. Furthermore, on ALTER TABLE...IMPORT TABLESPACE, let us write 0 to FIL_PAGE_LSN instead of using log_sys.lsn. buf_flush_init_for_writing(), buf_flush_update_zip_checksum(), fil_encrypt_buf_for_full_crc32(), fil_encrypt_buf(), fil_space_encrypt(): Remove the parameter lsn. buf_page_get_newest_modification(): Merge with the only caller. buf_tmp_reserve_compression_buf(), buf_tmp_page_encrypt(), buf_page_encrypt(): Define static in the same compilation unit with the only caller. PageConverter::m_current_lsn: Remove. Write 0 to FIL_PAGE_LSN on ALTER TABLE...IMPORT TABLESPACE.
* | | | MDEV-16264 Use threadpool for Innodb background work.Vladislav Vaintroub2019-11-151-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Almost all threads have gone - the "ticking" threads, that sleep a while then do some work) (srv_monitor_thread, srv_error_monitor_thread, srv_master_thread) were replaced with timers. Some timers are periodic, e.g the "master" timer. - The btr_defragment_thread is also replaced by a timer , which reschedules it self when current defragment "item" needs throttling - the buf_resize_thread and buf_dump_threads are substitutes with tasks Ditto with page cleaner workers. - purge workers threads are not tasks as well, and purge cleaner coordinator is a combination of a task and timer. - All AIO is outsourced to tpool, Innodb just calls thread_pool::submit_io() and provides the callback. - The srv_slot_t was removed, and innodb_debug_sync used in purge is currently not working, and needs reimplementation.
* | | | Merge 10.4 into 10.5Marko Mäkelä2019-11-081-3/+3
|\ \ \ \ | |/ / /
| * | | Cleanup: Remove mach_read_ulint()Marko Mäkelä2019-11-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function mach_read_ulint() is a wrapper for the lower-level functions mach_read_from_1(), mach_read_from_2(), mach_read_from_8(). Invoke those functions directly, for better readability of the code. mtr_t::read_ulint(), mtr_read_ulint(): Remove. Yes, we will lose the ability to assert that the read is covered by the mini-transaction. We would still check that on writes, and any writes that wrongly bypass mini-transaction logging would likely be caught by stress testing with Mariabackup.
* | | | Merge 10.4 into 10.5Marko Mäkelä2019-11-072-2/+2
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | A conflict between MDEV-19514 (b42294bc6409794bdbd2051b32fa079d81cea61d) and MDEV-20934 (d7a2401750bb29dfdb45929a536539b9f17b347f) was resolved. We will not invoke the function ibuf_delete_recs() from ibuf_merge_or_delete_for_page(). Instead, we will add that logic to the function ibuf_read_merge_pages().
| * | | Merge 10.3 into 10.4Marko Mäkelä2019-11-062-2/+2
| |\ \ \ | | |/ /
| | * | Merge 10.2 into 10.3Marko Mäkelä2019-11-062-2/+2
| | |\ \ | | | |/
| | | * Merge 10.1 to 10.2Marko Mäkelä2019-11-062-2/+2
| | | |\
| | | | * Fix GCC 9.2.1 -Wstringop-truncationMarko Mäkelä2019-11-043-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dict_table_rename_in_cache(): Use strcpy() instead of strncpy(), because they are known to be equivalent in this case (the length of old_name was already validated). mariabackup: Invoke strncpy() with one less than the buffer size, and explicitly add NUL as the last byte of the buffer.
| | | | * imporve clang buildEugene Kosov2019-06-251-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug Maintainer mode makes all warnings errors. This patch fix warnings. Mostly about deprecated `register` keyword. Too much warnings came from Mroonga and I gave up on it.
* | | | | MDEV-20487 Set innodb_adaptive_hash_index=OFF by defaultMarko Mäkelä2019-10-231-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on the performance testing that was conducted in MDEV-17492, the InnoDB adaptive hash index could only help performance in specific, almost-read-only workloads. It could slow down all kinds of workloads (especially DROP TABLE, TRUNCATE TABLE, ALTER TABLE, or DROP INDEX operations), and it can become corrupted, causing crashes (such as MDEV-18815, MDEV-20203) and possibly data corruption. Furthermore, the adaptive hash index consumes space from the InnoDB buffer pool, which could hurt performance when the working set would almost fit in the buffer pool. Given all this, it is best to disable the adaptive hash index by default.
* | | | | MDEV-12684 Show what config file a sysvar got a value fromSergei Golubchik2019-10-143-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | | change get_one_option() prototype to pass the filename and not to pass the redundant optid.
* | | | | Merge 10.4 into 10.5Marko Mäkelä2019-10-112-5/+5
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.3 into 10.4Marko Mäkelä2019-10-102-5/+5
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.2 into 10.3Marko Mäkelä2019-10-092-5/+5
| | |\ \ \ | | | |/ /
| | | * | MDEV-19335 Remove buf_page_t::encryptedThirunarayanan Balathandayuthapani2019-10-091-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The field buf_page_t::encrypted was added in MDEV-8588. It was made mostly redundant in MDEV-12699. Remove the field.
| | | * | MDEV-20703: mariabackup creates binlog files in server binlog directory on ↵Vlad Lesin2019-10-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --prepare --export step When "--export" mariabackup option is used, mariabackup starts the server in bootstrap mode to generate *.cfg files for the certain innodb tables. The started instance of the server reads options from the file, pointed out in "--defaults-file" mariabackup option. If the server uses the same config file as mariabackup, and binlog is switched on in that config file, then "mariabackup --prepare --export" will create binary log files in the server's binary log directory, what can cause issues. The fix is to add "--skip-log-bin" in mysld options when the server is started to generate *.cfg files.
* | | | | Merge 10.4 into 10.5Marko Mäkelä2019-09-244-10/+41
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.3 into 10.4Marko Mäkelä2019-09-234-10/+41
| |\ \ \ \ | | |/ / / | | | | | | | | | | Disable MDEV-20576 assertions until MDEV-20595 has been fixed.
| | * | | Merge 10.2 into 10.3Marko Mäkelä2019-09-234-10/+41
| | |\ \ \ | | | |/ /
| | | * | MDEV-18438 Don't stream xtrabackup_info of extra-lsndirSimon Lipp2019-09-194-10/+41
| | | | |
* | | | | Merge 10.4 into 10.5Marko Mäkelä2019-08-161-1/+1
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.3 into 10.4Marko Mäkelä2019-08-141-1/+1
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.2 to 10.3Marko Mäkelä2019-08-131-1/+1
| | |\ \ \ | | | |/ /
| | | * | MDEV-20060: Failing assertion: srv_log_file_size <= 512ULL << 30 while ↵Vlad Lesin2019-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | preparing backup The general reason why innodb redo log file is limited by 512G is that log_block_convert_lsn_to_no() returns value limited by 1G. But there is no need to have unique log block numbers in log group. The fix removes 512G limit and limits log group size by (uint32_t maximum value) * (minimum page size), which, in turns, can be removed if fil_io() is no longer used for innodb redo log io.
* | | | | Merge 10.4 into 10.5Marko Mäkelä2019-08-131-1/+1
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.3 into 10.4Marko Mäkelä2019-07-021-1/+1
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.2 into 10.3Marko Mäkelä2019-07-021-1/+1
| | |\ \ \ | | | |/ /
| | | * | MDEV-19865: AddressSanitizer error in open_or_create_log_file() in mariabackupVlad Lesin2019-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | Decrease array on stack in open_or_create_log_file() to avoid stack overflow.
* | | | | Fix clang-cl warningsVladislav Vaintroub2019-07-041-4/+3
| | | | |
* | | | | improve build, allow sql library to be built in parallel with builtinsVladislav Vaintroub2019-06-301-2/+4
| | | | |
* | | | | MDEV-19897 Rename source code variable names from utf8 to utf8mb3Alexander Barkov2019-06-281-2/+2
| | | | |
* | | | | Merge 10.4 into 10.5Marko Mäkelä2019-06-181-0/+2
|\ \ \ \ \ | |/ / / /
| * | | | MDEV-14101 Provide an option to select TLS protocol versionGeorg Richter2019-06-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Server and command line tools now support option --tls_version to specify the TLS version between client and server. Valid values are TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3 or a combination of them. E.g. --tls_version=TLSv1.3 --tls_version=TLSv1.2,TLSv1.3 In case there is a gap between versions, the lowest version will be used: --tls_version=TLSv1.1,TLSv1.3 -> Only TLSv1.1 will be available. If the used TLS library doesn't support the specified TLS version, it will use the default configuration. Limitations: SSLv3 is not supported. The default configuration doesn't support TLSv1.0 anymore. TLSv1.3 protocol currently is only supported by OpenSSL 1.1.0 (client and server) and GnuTLS 3.6.5 (client only). Overview of TLS implementations and protocols Server: +-----------+-----------------------------------------+ | Library | Supported TLS versions | +-----------+-----------------------------------------+ | WolfSSL | TLSv1.1, TLSv1,2 | +-----------+-----------------------------------------+ | OpenSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+ | LibreSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+ Client (MariaDB Connector/C) +-----------+-----------------------------------------+ | Library | Supported TLS versions | +-----------+-----------------------------------------+ | GnuTLS | (TLSv1.0), TLSv1.1, TLSv1.2, TLSv1.3 | +-----------+-----------------------------------------+ | Schannel | (TLSv1.0), TLSv1.1, TLSv1.2 | +-----------+-----------------------------------------+ | OpenSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+ | LibreSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+