- 09 Sep, 2021 1 commit
-
-
Marko Mäkelä authored
Any modification of buf_pool.page_hash is supposed to be protected by buf_pool.mutex and page_hash_latch::write_lock(). The buffer pool watch mechanism of the InnoDB change buffer was violating that ever since commit b1ab211d (MDEV-15053). buf_pool_t::watch_set(): Extend the critical section of buf_pool.mutex. buf_pool_t::watch_unset(): Define non-inline, because calls are infrequent and this function became larger. If we have to detach a sentinel from page_hash, do it while holding both the mutex and the exclusive hash latch. buf_pool_t::watch_remove(): Assert that the mutex is being held. buf_page_init_for_read(): Remove some work-arounds for previously encountered race conditions related to buf_pool.watch.
-
- 07 Sep, 2021 1 commit
-
-
Marko Mäkelä authored
buf_load(): Wait for the submitted reads to finish before updating innodb_buffer_pool_load_status.
-
- 06 Sep, 2021 4 commits
-
-
Vladislav Vaintroub authored
-
Marko Mäkelä authored
buf_read_page_background(): Remove the parameter "bool sync" and always actually initiate a page read in the background. buf_load(): Always submit asynchronous reads. This allows page checksums to be verified in concurrent threads as soon as the reads are completed.
-
Marko Mäkelä authored
-
Nayuta Yanagisawa authored
MDEV-25684 Crash in THD::find_temporary_table while calling spider_direct_sql UDF without temporary table created The server crashed when SPIDER_DIRECT_SQL UDF was called with non-existing temporary table. The bug has been introduced by 91ffdc83. The commit removed the check, from THD::open_temporary_table(), which ensure that the target temporary tables exist. We can fix the bug by adding the check before the call of THD::open_temporary_table().
-
- 04 Sep, 2021 1 commit
-
-
Vladislav Vaintroub authored
This is a side-effect of my_large_malloc() introduction,MDEV-18851 It removed a cast to size_t to variable 'blocks' in multiplication blocks * keycache->key_cache_block_size , creating ulong value instead of correct size_t. Replaced a couple of ulongs with appropriate data type, which is size_t. Also, fixed casts to ulongs in crash handler messages, so that people would not be confused by that, too. Interestingly, aria did not expose the same problem even if it contains copied and pasted code in ma_pagecache, because Aria had some ulongs removed when fixing a similar problem in MDEV-9256.
-
- 02 Sep, 2021 1 commit
-
-
Vladislav Vaintroub authored
Allow the caller to have current_thd. Also do not store PSI_CALL_get_thread() in the new THD, it is a thread local storage variable that can become invalid any time, we do not control the lifetime of the caller's thread.
-
- 01 Sep, 2021 3 commits
-
-
Monty authored
Other things: - Don't allocate an IO_CACHE for scanning tables of type BLOCK (It was never used in this case) - Fixed bug in page cache that cased a hang when trying to read a not existing S3 block.
-
Monty authored
Other things - Cleaned up error messages for CHECK, REPAIR and OPTIMIZE
-
Monty authored
These options was needed in some cases, like when using minio that require the port option, to be able to connect to the S3 storage. The sympthom was that one could get the error "Table t1.MAI doesn't exist in s3" even if the table did exits. Other things: - Improved error message for non existing S3 files
-
- 31 Aug, 2021 4 commits
-
-
Vladislav Vaintroub authored
Apparently, in bootstrap this could crash when creating new THDs
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 30 Aug, 2021 4 commits
-
-
Vladislav Vaintroub authored
Change logic to only allocate purge thds at startup, or in pre-shutdown (for slow shutdown).
-
Marko Mäkelä authored
THD::copy_db_to(): Always return true if the output parameter was left uninitialized. This fixes a regression that was caused by commit 7d0d934c (MDEV-16473). MariaDB Server 10.3 and later were unaffected by this bug thanks to commit a7e352b5. Possibly this bug only affects mysql_list_fields() in the Embedded Server (libmysqld). This bug was found by GCC 11.2.0 in CMAKE_BUILD_TYPE=RelWithDebInfo.
-
Marko Mäkelä authored
init_mutex_v1_t: Stop lying that the mutex parameter is const. GCC 11.2.0 assumes that it is and could complain about any mysql_mutex_t being uninitialized even after mysql_mutex_init() as long as PLUGIN_PERFSCHEMA is enabled. init_rwlock_v1_t, init_cond_v1_t: Remove untruthful const qualifiers. Note: init_socket_v1_t is expecting that the socket fd has already been created before PSI_SOCKET_CALL(init_socket), and therefore that parameter really is being treated as a pointer to const.
-
Marko Mäkelä authored
-
- 29 Aug, 2021 1 commit
-
-
Sergei Golubchik authored
if all options from a combination from the combinations file are already present in the server's list of options, then don't try to run tests in other combinations from this file. old behavior was: if at least one option from a combination is already present in the list...
-
- 27 Aug, 2021 1 commit
-
-
Alexey Bychko authored
replaced CPACK_RPM_PACKAGE_VERSION with SERVER_VERSION. CPACK_* variables are empty and can't be used until INCLUDE(CPack) is called. SERVER_VERSION is the safest option because other variables may be overwritten from submodules
-
- 26 Aug, 2021 5 commits
-
-
Sergei Golubchik authored
-
Daniel Black authored
Thanks to Theodore Brockman on Zulip for noticing on an OSX ARM64 and testing this patch. Per https://github.com/google/cpu_features/pull/150/files CMAKE_SYSTEM_PROCESSOR is arm64 on Apple. Without this, compulation error: [ 80%] Building CXX object storage/rocksdb/CMakeFiles/rocksdblib.dir/rocksdb/util/crc32c.cc.o /mariadb/storage/rocksdb/rocksdb/util/crc32c.cc:500:18: error: use of undeclared identifier 'isSSE42' has_fast_crc = isSSE42(); ^ /mariadb/storage/rocksdb/rocksdb/util/crc32c.cc:1230:7: error: use of undeclared identifier 'isSSE42' if (isSSE42()) { ^ /mariadb/storage/rocksdb/rocksdb/util/crc32c.cc:1231:9: error: use of undeclared identifier 'isPCLMULQDQ' if (isPCLMULQDQ()) { ^ This can be reverted when the RocksDB submodule is updated. https://github.com/facebook/rocksdb/commit/ee4bd4780b321ddb5f92a0f4eb956f2a2ebd60dc
-
Marko Mäkelä authored
-
Michael Widenius authored
The problem was that a PREARE followed by a non prepared statement using DEFAULT NEXT_VALUE() could change table->next_local to point to a not persitent memory aria. The next EXECUTE would then try to use the wrong pointer, which could cause a crash. Fixed by reseting the pointer to it's old value when doing EXECUTE.
-
Michael Widenius authored
Backported patch from MariaDB 10.6 The issue was that the using session_mem_used to break a test does not guarantee where the test breaks, which gives different results depending on the environment or how MariaDB is compield.
-
- 25 Aug, 2021 9 commits
-
-
Sergei Golubchik authored
Buggy sepdebugcrcfix in CentOS 7 (rpm-4.11.3) does not restore SUID bit after editing the binary. This is fixed in rpm-4.12. Still let's not set SUID bit when installing auth_pam_tool and use rpm spec %attr directive instead.
-
Marko Mäkelä authored
In a rebase of the merge, two preceding commits were accidentally reverted: commit 112b2396 (MDEV-26308) commit ac2857a5 (MDEV-25717) Thanks to Daniele Sciascia for noticing this.
-
Marek Kulik authored
Changes: - Don't include port in connection parameters with 'localhost' hostname More info: The hostname, if not specified or specified as '' or 'localhost', will default to a MySQL server running on the local machine using the default for the UNIX socket. To connect to a MySQL server on the local machine via TCP, you must specify the loopback IP address (127.0.0.1) as the host. To comply with what the perl module expects, we omit the port for a host=localhost connection. Reported issue: https://bugzilla.redhat.com/show_bug.cgi?id=1976224
-
Marek Kulik authored
FLUSH PRIVILEGES hasn't been needed for very many years.
-
Marek Kulik authored
Changes: - Don't include port in connection parameters with 'localhost' hostname More info: The hostname, if not specified or specified as '' or 'localhost', will default to a MySQL server running on the local machine using the default for the UNIX socket. To connect to a MySQL server on the local machine via TCP, you must specify the loopback IP address (127.0.0.1) as the host. Reported issue: https://bugzilla.redhat.com/show_bug.cgi?id=1976224
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 24 Aug, 2021 2 commits
-
-
Daniel Black authored
Currently @@version_compile_machine is used by mtr to determine if the compiled executable is 32 or 64 bits. We extend that logic by ensuring that if the DEFAUT_MACHINE name doesn't have "64" in its string, "-64bits" is appended to ensure these test pass.
-
Michael Widenius authored
-
- 23 Aug, 2021 3 commits
-
-
Marko Mäkelä authored
trx_purge_rseg_get_next_history_log(): Fix a race condition that was introduced in commit e46f76c9 (MDEV-15912). The buffer pool page contents must not be accessed while not holding a page latch. The page latch was released by mtr_t::commit(). This race resulted in an ASAN heap-use-after-poison during a stress test.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-