summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-19281: Plugin implementation for the Hashicorp Vault KMSbb-10.9-MDEV-19281-v2Julius Goryavsky2022-03-1621-0/+1811
| | | | | | | | | | | | | | | | | | | | - Authentication is done using the Hashicorp Vault's token authentication method; - If additional client authentication is required, then the path to the CA authentication bundle file may be passed as a plugin parameter; - The creation of the keys and their management is carried out using the Hashicorp Vault KMS and their tools; - Key values stored as hexadecimal strings; - Key values caching is supported. - Implemented a time-invalidated cache for key values and for key version numbers received from the Hashicorp Valult server; - The plugin uses libcurl (https) as an interface to the HashiCorp Vault server; - JSON parsing is performed through the JSON service (through the include/mysql/service_json.h); - HashiCorp Vault 1.2.4 was used for development and testing.
* Merge 10.8 into 10.9Marko Mäkelä2022-03-1115-35/+68
|\
| * Merge 10.7 into 10.8Marko Mäkelä2022-03-1115-35/+68
| |\
| | * Fix clang -Wtypedef-redefinitionMarko Mäkelä2022-03-116-10/+12
| | | | | | | | | | | | Fixup for commit 77c184df7c056da7364e606ac977cc2d3cd826ad
| | * Merge 10.6 into 10.7Marko Mäkelä2022-03-119-25/+56
| | |\
| | | * Merge 10.5 into 10.6Marko Mäkelä2022-03-112-0/+16
| | | |\
| | | | * Merge 10.4 into 10.5Marko Mäkelä2022-03-112-0/+16
| | | | |\
| | | | | * MDEV-19577 fixup: galera.galera_binlog_stmt_autoincMarko Mäkelä2022-03-112-0/+16
| | | | | |
| | | * | | Merge 10.5 into 10.6Marko Mäkelä2022-03-115-18/+18
| | | |\ \ \ | | | | |/ /
| | | | * | Fix clang -Wtypedef-redefinitionMarko Mäkelä2022-03-114-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | This fixes commit 77c184df7c056da7364e606ac977cc2d3cd826ad.
| | | | * | Merge 10.4 into 10.5Marko Mäkelä2022-03-111-1/+1
| | | | |\ \ | | | | | |/
| | | | | * After-merge fix: clang -Winconsistent-missing-overrideMarko Mäkelä2022-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The virtual member function that was added in commit 1766a18e06a056155031dabefb88ce7f201ad921 needs to be declared "override".
| | | * | | MDEV-28030 row_discard_tablespace_for_mysql() can unlock data dictionary ↵Thirunarayanan Balathandayuthapani2022-03-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | without locking data dictionary - row_discard_tablespace_for_mysql() could unlock the data dictionary lock without locking it in the first place.
| | | * | | MDEV-27672 Assertion `!table->fts->in_queue' failed in ↵Thirunarayanan Balathandayuthapani2022-03-111-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fts_optimize_remove_table - During rollback of InnoDB DDL, it un-necessary removes the table from fts_optimize_wq. Removal of fts table from fts_optimize_wq when it has only one fulltext and it is being rollbacked.
* | | | | | MDEV-27812: Fix a race condition, and pacify MemorySanitizerMarko Mäkelä2022-03-113-17/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | log_t::write_checkpoint(): Avoid a race condition with resize_abort() by loading log_sys.resize_lsn only while holding the locks. Also, remove an unnecessary write of all outstanding log before switching log files. log_t::write_buf(): Mark the entire block in the resize buffer as initialized, to allow the test innodb.log_file_size_online to pass when not using the mmap() based interface.
* | | | | | Merge 10.8 into 10.9Marko Mäkelä2022-03-1124-55/+285
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.7 into 10.8Marko Mäkelä2022-03-1124-55/+285
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge 10.6 into 10.7Marko Mäkelä2022-03-1125-56/+286
| | |\ \ \ \ | | | |/ / /
| | | * | | Fix main.create_or_replaceMarko Mäkelä2022-03-112-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ever since commit 9608773f75e2ca21491ef6825c3616cdc96d1ca5 we no longer disable innodb_stats_persistent. Ever since commit 45a05fda27dc7058ce8a89f14b1daa56352adf6b updates of the InnoDB persistent statistics are covered by MDL.
| | | * | | Merge 10.5 into 10.6Marko Mäkelä2022-03-1118-30/+175
| | | |\ \ \ | | | | |/ /
| | | | * | Stabilize innodb.redo_log_during_checkpointMarko Mäkelä2022-03-113-21/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Externally kill and restart the server, and remove the unreliable crash_after_checkpoint.
| | | | * | Merge 10.4 into 10.5Marko Mäkelä2022-03-1115-8/+170
| | | | |\ \ | | | | | |/
| | | | | * Merge 10.3 into 10.4Marko Mäkelä2022-03-1114-14/+167
| | | | | |\
| | | | | | * MDEV-19577 Replication does not work with innodb_autoinc_lock_mode=2Vlad Lesin2022-03-109-1/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first step for deprecating innodb_autoinc_lock_mode(see MDEV-27844) is: - to switch statement binlog format to ROW if binlog format is MIXED and the statement changes autoincremented fields - issue warnings if innodb_autoinc_lock_mode == 2 and binlog format is STATEMENT
| | | | | | * MDEV-24617 OPTIMIZE on a sequence causes unexpected ER_BINLOG_UNSAFE_STATEMENTAndrei2022-03-105-5/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning out of OPTIMIZE Statement is unsafe because it uses a system function was indeed counterfactual and was resulted by checking an insufficiently strict property of lex' sql_command_flags. Fixed with deploying an additional checking of weather the current sql command that modifes a share->non_determinstic_insert table is capable of generating ROW format events. The extra check rules out the unsafety to OPTIMIZE et al, while the existing check continues to do so to CREATE TABLE (which is perculiarly tagged as ROW-event generative sql command). As a side effect sql_sequence.binlog test gets corrected and binlog_stm_unsafe_warning.test is reinforced to add up an unsafe CREATE..SELECT test.
| | | | | | * MDEV-28022: Debian stretch has zstd too oldDaniel Black2022-03-101-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | zstd-1.1.3 is needed however stretch has only 1.1.2. Move to distro version based checks as checks against the apt-cache are unreliable if there is no cache.
| | | | | * | Explicitly specify that we use the C99 dialectMarko Mäkelä2022-03-101-1/+3
| | | | | | |
| | | * | | | MDEV-27956 hardware lock ellision on s390x/ppc64{,le}Daniel Black2022-03-114-26/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per https://gcc.gnu.org/onlinedocs/gcc/PowerPC-Hardware-Transactional-Memory-Built-in-Functions.html The .. high level HTM interface .. is common between PowerPC and S/390 Reimplemented the transactional_lock_enabled() detection mechanism for s390x and POWER based on SIGILL. This also gives non-Linux based unixes the ability to use HTM. The implementation is based off openssl. (ref: https://github.com/openssl/openssl/blob/1c0eede9827b0962f1d752fa4ab5d436fa039da4/crypto/s390xcap.c#L104) The other ppc64{,le} problems with getauxvec based detection: * Checking PPC_FEATURE2_HTM_NOSC not needed as we do not do syscalls while in a transactional state. * As we don't use, and never should use PPC_FEATURE2_HTM_NO_SUSPEND, or do syscalls while in transactional state, don't test it. From: https://www.kernel.org/doc/html/v5.4/powerpc/syscall64-abi.html#transactional-memory S390x high level __builtin_tbegin functions in the htmxlintrin.h are not inline. This header file can be included once in the entire set of sources for a linked target, otherwise duplicate symbols occur. While we could use inline xabort/xend functions using the low level interface, we keep this the same as ppc64 for simplicity. SLES-15, gcc-7, appeared to want everything that included the htmlxlintrin to be compiled with -mhtm otherwise the __builtin_t{func} where not defined (in addition to a #ifdef __HTM__ #error). Debian sid gcc-11.2 wanted the same on ppc64le/ppc64. In general we want to avoid a wide spread use of architecture cflags as it makes justifications for selective optimizations easier. (ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1006702)
| | | * | | | MDEV-27058 fixup: Relax a debug assertionMarko Mäkelä2022-03-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | buf_page_get_low(): Assert that the block not be read-fixed. It may be write-fixed while we only hold a shared latch on the page. Page writes are protected by U latches, which are compatible with S. In all other places where we assert that the block not be IO-fixed, we are holding U or X latch, which does prevent concurrent file I/O.
| | | * | | | MDEV-27936 hardware lock elision on ppc64{,le} failing to compileDaniel Black2022-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Cannot have a function trx_has_lock_x hot and cold.
| | | * | | | MDEV-27936 hardware lock elision on ppc64{,le} failing to compileDaniel Black2022-03-104-16/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is only a very small range of gcc compiler versions that allow the built_{htm} functions to be defined without -mhtm being specified as a global C{,XX}FLAGS. Because the design is centered around enable HTM only in the functional blocks that use it, this breaks on the inclusion of the htmxlintrin.h header that includes this. As a partial mitigation, extented to GNU/clang compilers, transaction functions gain the attribute "hot". In general the use of htm is around the optimistic transaction ability of the function. The key part of using the hot attribute is to place these functions together so that a maximization of icache, tlb and OS paging can ensure that these can be ready to execute by any thread/cpu with the minimum amount of overhead. POWER is particularly affected here because the xbegin/xend functions are not inline. srw_lock.cc requires the -mhtm cflag, both in the storage engine and the unit tests.
| | | * | | | Fix failing Gitlab-CI by fixing CentOS 8 repo urlsOtto Kekäläinen2022-03-091-2/+2
| | | | | | |
| | | * | | | Fix failing Gitlab-CI by adding pcre2-devel as a build dependencyOtto Kekäläinen2022-03-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commits a73acf6c068a39d0bb9437e05b0b60a87e46bba8 and 4d74bac8bc8c14c2b217391b3b8860f3dc701202 updated the PCRE library to a new version, which in turn requires CMake 3.0. That does not exist in CentOS 7 nor 8, so builds started failing. Actually the build should not be downloading anything at all. The root cause was that pcre2-devel was missing from the dependencies. This was originally not detected, as the download fallback had masked the issue.
* | | | | | | MDEV-27664 Spider: remove #ifdef SPIDER_SQL_CACHE_IS_IN_LEXKaiton72022-03-103-18/+0
| | | | | | |
* | | | | | | MDEV-27663 Spider: remove #ifdef ↵KiyoshiTakeda2022-03-102-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM
* | | | | | | Merge 10.8 into 10.9Marko Mäkelä2022-03-0846-374/+325
|\ \ \ \ \ \ \ | |/ / / / / /
| * | | | | | Merge 10.7 into 10.8Marko Mäkelä2022-03-0846-374/+325
| |\ \ \ \ \ \ | | |/ / / / /
| | * | | | | Merge 10.6 into 10.7Marko Mäkelä2022-03-0846-374/+325
| | |\ \ \ \ \ | | | |/ / / /
| | | * | | | Fix an uninitialized variable in debug buildsMarko Mäkelä2022-03-081-2/+2
| | | | | | |
| | | * | | | MDEV-27891: Make the test work with debug buildsMarko Mäkelä2022-03-083-13/+15
| | | | | | |
| | | * | | | After-merge fixesMarko Mäkelä2022-03-089-64/+70
| | | | | | |
| | | * | | | Merge 10.5 into 10.6Vlad Lesin2022-03-0731-377/+275
| | | |\ \ \ \ | | | | |/ / /
| | | | * | | Merge 10.4 into 10.5Vlad Lesin2022-03-0715-409/+253
| | | | |\ \ \ | | | | | |/ /
| | | | | * | Merge 10.3 into 10.4Vlad Lesin2022-03-0715-427/+249
| | | | | |\ \ | | | | | | |/
| | | | | | * MDEV-27992 DELETE fails to delete record after blocking is releasedVlad Lesin2022-03-0715-427/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-27025 allows to insert records before the record on which DELETE is locked, as a result the DELETE misses those records, what causes serious ACID violation. Revert MDEV-27025, MDEV-27550. The test which shows the scenario of ACID violation is added.
| | | | * | | Merge 10.4 into 10.5Marko Mäkelä2022-03-0721-154/+175
| | | | |\ \ \ | | | | | |/ /
| | | | | * | Merge 10.3 into 10.4Marko Mäkelä2022-03-0715-138/+121
| | | | | |\ \ | | | | | | |/
| | | | | | * Merge 10.2 into 10.3Marko Mäkelä2022-03-047-13/+30
| | | | | | |\
| | | | | | | * MDEV-27993 Assertion failed in btr_page_reorganize_low()Marko Mäkelä2022-03-033-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | btr_cur_optimistic_insert(): Disregard DEBUG_DBUG injection to invoke btr_page_reorganize() if the page (and the table) is empty. Otherwise, an assertion would fail in btr_page_reorganize_low() because PAGE_MAX_TRX_ID is 0 in an empty secondary index leaf page.
| | | | | | | * MMDEV-27823 mariadb-install-db --group failsMonty2022-03-012-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed by not sending --group option to the server (for now) Reviwer: Sergei Golubchik