summaryrefslogtreecommitdiff
path: root/extra
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '10.3' into 10.4Oleksandr Byelkin2019-05-19250-263/+263
|\
| * Merge 10.2 into 10.3Marko Mäkelä2019-05-14250-263/+263
| |\
| | * Merge 10.1 into 10.2Marko Mäkelä2019-05-13251-264/+264
| | |\
| | | * Merge branch '5.5' into 10.1Vicențiu Ciorbaru2019-05-11251-255/+255
| | | |\
| | | | * Update FSF AddressVicențiu Ciorbaru2019-05-11147-149/+149
| | | | | | | | | | | | | | | | | | | | * Update wrong zip-code
| | | * | Update FSF addressVicențiu Ciorbaru2019-05-115-9/+9
| | | | |
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-05-053-15/+93
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.2 into 10.3Marko Mäkelä2019-05-032-1/+74
| |\ \ \ \ | | |/ / /
| | * | | MDEV-17008 prepare with datadir, on Windows, does not set ACLVladislav Vaintroub2019-05-021-1/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on tablespace files Fix is to always add Full Control for NetworkService account, for every file that copyback/moveback copies around.
| | * | | MDEV-18544 "missing required privilege PROCESS on *.*" using mariabackup for SSTVladislav Vaintroub2019-05-021-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If required privilege is missing, dump the output from "SHOW GRANTS" into mariabackup log. This will help troubleshooting, and make the bug reproducible.
| * | | | Merge 10.2 into 10.3Marko Mäkelä2019-04-292-4/+5
| |\ \ \ \ | | |/ / /
| | * | | MDEV-14130 InnoDB messages should not refer to the MySQL 5.7 manualMarko Mäkelä2019-04-291-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | In InnoDB error messages, replace the hyperlink URLs to point to the MariaDB knowledge base.
| | * | | Fix a typoVladislav Vaintroub2019-04-291-1/+1
| | | | |
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-05-054-16/+16
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.2 into 10.3Marko Mäkelä2019-04-274-14/+14
| |\ \ \ \ | | |/ / /
| | * | | MDEV-19231 make DB_SUCCESS equal to 0Eugene Kosov2019-04-254-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's a micro optimization. On most platforms CPUs has instructions to compare with 0 fast. DB_SUCCESS is the most popular outcome of functions and this patch optimized code like (err == DB_SUCCESS) BtrBulk::finish(): bogus assertion fixed fil_node_t::read_page0(): corrected usage of os_file_read() que_eval_sql(): bugus assertion removed. Apparently it checked that the field was assigned after having been zero-initialized at object creation. It turns out that the return type of os_file_read_func() was changed in mysql/mysql-server@98909cefbc37e54efc6452c7e95bccbf64ac9213 (MySQL 5.7) from ibool to dberr_t. The reviewer (if there was any) failed to point out that because of future merges, it could be a bad idea to change the return type of a function without changing the function name. This change was applied to MariaDB 10.2.2 in commit 2e814d4702d71a04388386a9f591d14a35980bfe but the MariaDB-specific code was not fully adjusted accordingly, e.g. in fil_node_open_file(). Essentially, code like !os_file_read(...) became dead code in MariaDB and later in Mariabackup 10.2, and we could be dealing with an uninitialized buffer after a failed page read.
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-04-251-3/+1
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | In is_eits_usable(), we disable an assertion that fails due to MDEV-19334.
| * | | | Merge 10.2 into 10.3Marko Mäkelä2019-04-251-3/+1
| |\ \ \ \ | | |/ / /
| | * | | Do fast exit with error code and FATAL ERROR message, if innodb cannot start ↵Vladislav Vaintroub2019-04-231-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | during prepare. Otherwise, it is possible for "prepare" to exit with error code 0, even if it did not work at all.
* | | | | Fixed compiler warnings form gcc 7.3.1Monty2019-04-191-1/+1
| | | | |
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-04-081-26/+12
|\ \ \ \ \ | |/ / / /
| * | | | MDEV-14192: Add debug assertionsVlad Lesin2019-04-081-2/+2
| | | | |
| * | | | Merge 10.2 into 10.3Marko Mäkelä2019-04-081-25/+11
| |\ \ \ \ | | |/ / /
| | * | | MDEV-19212 4GB Limit on large_pages - integer overflowMarko Mäkelä2019-04-081-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | os_mem_alloc_large(): Invoke the macro ut_2pow_round() with the correct argument type. innobase_large_page_size, innobase_use_large_pages, os_use_large_pages, os_large_page_size: Remove. Simply refer to opt_large_page_size, my_use_large_pages.
| | * | | MDEV-14192 Mariabackup assertion failure: byte_offset % ↵Vlad Lesin2019-04-081-20/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OS_FILE_LOG_BLOCK_SIZE == 0 xtrabackup_backup_func(): If the log checkpoint header changed since we last read it, search for the most recent checkpoint again. Otherwise, we could corrupt the backup of the redo log, because the least significant bits of checkpoint_lsn_start would not match log_sys->log.lsn.
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-04-081-2/+7
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.2 into 10.3Marko Mäkelä2019-04-071-2/+7
| |\ \ \ \ | | |/ / /
| | * | | MDEV-12699 preparation: Clean up recv_sysMarko Mäkelä2019-04-061-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The recv_sys data structures are accessed not only from the thread that executes InnoDB plugin initialization, but also from the InnoDB I/O threads, which can invoke recv_recover_page(). Assert that sufficient concurrency control is in place. Some code was accessing recv_sys data structures without holding recv_sys->mutex. recv_recover_page(bpage): Refactor the call from buf_page_io_complete() into a separate function that performs necessary steps. The main thread was unnecessarily releasing and reacquiring recv_sys->mutex. recv_recover_page(block,mtr,recv_addr): Pass more parameters from the caller. Avoid redundant lookups and computations. Eliminate some redundant variables. recv_get_fil_addr_struct(): Assert that recv_sys->mutex is being held. That was not always the case! recv_scan_log_recs(): Acquire recv_sys->mutex for the whole duration of the function. (While we are scanning and buffering redo log records, no pages can be read in.) recv_read_in_area(): Properly protect access with recv_sys->mutex. recv_apply_hashed_log_recs(): Check recv_addr->state only once, and continuously hold recv_sys->mutex. The mutex will be released and reacquired inside recv_recover_page() and recv_read_in_area(), allowing concurrent processing by buf_page_io_complete() in I/O threads.
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-03-264-0/+4
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.2 into 10.3Marko Mäkelä2019-03-264-0/+4
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.1 into 10.2Marko Mäkelä2019-03-264-0/+4
| | |\ \ \ | | | |/ /
| | | * | Fix resource leakFaramosCZ2019-03-221-0/+1
| | | | | | | | | | | | | | | | | | | | The 'bitmap_dir' has to be closed when no longer needed
| | | * | Fix resource leakFaramosCZ2019-03-221-0/+1
| | | | |
| | | * | Fix resource leakFaramosCZ2019-03-221-0/+1
| | | | |
| | | * | Fix resource leakFaramosCZ2019-03-221-0/+1
| | | | |
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-03-221-3/+2
|\ \ \ \ \ | |/ / / /
| * | | | Merge remote-tracking branch 'origin/10.2' into 10.3Alexander Barkov2019-03-221-3/+2
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.1 into 10.2Marko Mäkelä2019-03-221-3/+2
| | |\ \ \ | | | |/ /
| | | * | Cleanup - remove unused variables and functions after MDEV-18917Vladislav Vaintroub2019-03-152-31/+0
| | | | |
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-03-212-10/+14
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.2 into 10.3Marko Mäkelä2019-03-212-10/+14
| |\ \ \ \ | | |/ / /
| | * | | Remove unused variables from non-debug buildMarko Mäkelä2019-03-211-5/+5
| | | | |
| | * | | Mariabackup: Ensure NUL termination in strncpy()Marko Mäkelä2019-03-212-5/+9
| | | | |
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-03-203-64/+4
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MDEV-17262 commit 26432e49d37a37d09b862bb49a021e44bdf4789c was skipped. In Galera 4, the implementation would seem to require changes to the streaming replication. In the tests archive.rnd_pos main.profiling, disable_ps_protocol for SHOW STATUS and SHOW PROFILE commands until MDEV-18974 has been fixed.
| * | | | Merge branch '10.2' into 10.3Sergei Golubchik2019-03-173-64/+4
| |\ \ \ \ | | |/ / /
| | * | | post-merge: gcc 8 warningsSergei Golubchik2019-03-152-23/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | note: Inherit String from Sql_alloc, to get operators new and new[] in sync in rocksdb gcc was complaining that non-lvalue was cast to const.
| | * | | Merge branch '10.1' into 10.2Sergei Golubchik2019-03-153-39/+4
| | |\ \ \ | | | |/ /
| | | * | MDEV-18917 Don't create xtrabackup_binlog_pos_innodb with MariabackupVladislav Vaintroub2019-03-153-36/+4
| | | | |
* | | | | MDEV-18644: Support full_crc32 for page_compressedMarko Mäkelä2019-03-183-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow-up task to MDEV-12026, which introduced innodb_checksum_algorithm=full_crc32 and a simpler page format. MDEV-12026 did not enable full_crc32 for page_compressed tables, which we will be doing now. This is joint work with Thirunarayanan Balathandayuthapani. For innodb_checksum_algorithm=full_crc32 we change the page_compressed format as follows: FIL_PAGE_TYPE: The most significant bit will be set to indicate page_compressed format. The least significant bits will contain the compressed page size, rounded up to a multiple of 256 bytes. The checksum will be stored in the last 4 bytes of the page (whether it is the full page or a page_compressed page whose size is determined by FIL_PAGE_TYPE), covering all preceding bytes of the page. If encryption is used, then the page will be encrypted between compression and computing the checksum. For page_compressed, FIL_PAGE_LSN will not be repeated at the end of the page. FSP_SPACE_FLAGS (already implemented as part of MDEV-12026): We will store the innodb_compression_algorithm that may be used to compress pages. Previously, the choice of algorithm was written to each compressed data page separately, and one would be unable to know in advance which compression algorithm(s) are used. fil_space_t::full_crc32_page_compressed_len(): Determine if the page_compressed algorithm of the tablespace needs to know the exact length of the compressed data. If yes, we will reserve and write an extra byte for this right before the checksum. buf_page_is_compressed(): Determine if a page uses page_compressed (in any innodb_checksum_algorithm). fil_page_decompress(): Pass also fil_space_t::flags so that the format can be determined. buf_page_is_zeroes(): Check if a page is full of zero bytes. buf_page_full_crc32_is_corrupted(): Renamed from buf_encrypted_full_crc32_page_is_corrupted(). For full_crc32, we always simply validate the checksum to the page contents, while the physical page size is explicitly specified by an unencrypted part of the page header. buf_page_full_crc32_size(): Determine the size of a full_crc32 page. buf_dblwr_check_page_lsn(): Make this a debug-only function, because it involves potentially costly lookups of fil_space_t. create_table_info_t::check_table_options(), ha_innobase::check_if_supported_inplace_alter(): Do allow the creation of SPATIAL INDEX with full_crc32 also when page_compressed is used. commit_cache_norebuild(): Preserve the compression algorithm when updating the page_compression_level. dict_tf_to_fsp_flags(): Set the flags for page compression algorithm. FIXME: Maybe there should be a table option page_compression_algorithm and a session variable to back it?
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-03-082-3/+22
|\ \ \ \ \ | |/ / / /