- 12 Jan, 2022 6 commits
-
-
Thirunarayanan Balathandayuthapani authored
- InnoDB fails to apply the bulk insert operation for the stats table during DDL. During create table, InnoDB does dict_stats_save() and freshly insert into innodb_table_stats and innodb_index_stats table.
-
Thirunarayanan Balathandayuthapani authored
InnoDB fails to add the tuple size which is greater than innodb_sort_buffer_size. InnoDB should write the field which are greater than 2000 bytes into the temporary file and place the offset, length and make it as a new tuple. InnoDB should buffer the newly created tuple without any problem during bulk index
-
Marko Mäkelä authored
-
Marko Mäkelä authored
This follows up commit 017d1b86. In commit aaef2e1d (MDEV-27058) some more problematic debug assertions were added. btr_search_update_block_hash_info(), trx_purge_truncate_history(): Use simpler assertions to check that an uncompressed page is present.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
mtr_t::modify(): Remove a debug assertion that had been added in commit 05fa4558 (MDEV-22110). The function buf_pool_t::is_uncompressed() is only safe to invoke while holding a buf_pool.page_hash latch so that buf_pool_t::resize() cannot concurrently invoke free() on any chunks.
-
- 11 Jan, 2022 1 commit
-
-
Eugene Kosov authored
The problem was introduced by the removal of buf_pool.flush_rbt in commit 46b1f500 (MDEV-23399) recv_sys_t::apply(): don't write to disc and fsync() the last batch. Insead, sort it by oldest_modification for MariaDB server and some mariabackup operations. log_sort_flush_list(): a thread-safe function which sorts buf_pool::flush_list
-
- 10 Jan, 2022 3 commits
-
-
Thirunarayanan Balathandayuthapani authored
trx_has_lock_x() fails to find whether the trx has X-lock on the table when other transactions are waiting for an X or S lock on the table.
-
Marko Mäkelä authored
There was an intention to add a CommandQueue in mysql/mysql-server@eca5b0fc17a5bd6d4833d35a0d08c8549dd3b5ec but it never appeared in any release (not even MySQL 5.7.3 where that commit appeared).
-
Rucha Deodhar authored
Diagnostics_area::set_error_status (interrupted ALTER TABLE under LOCK) Analysis: KILL_QUERY is not ignored when local memory used exceeds maximum session memory. Hence the query proceeds, OK is sent and we end up reopening tables that are marked for reopen. During this, kill status is eventually checked and assertion failure happens during trying to send error message because OK has already been sent. Fix: Ok is already sent so statement has already executed. It is too late to give error. So ignore kill.
-
- 09 Jan, 2022 2 commits
-
-
Vladislav Vaintroub authored
The warning reads: CMake Deprecation Warning at CMakeLists.txt:101 (CMAKE_MINIMUM_REQUIRED): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.
-
Marko Mäkelä authored
In commit 18535a40 (MDEV-24811) the implementation of innodb_evict_tables_on_commit_debug depended on dict_sys.mutex and SAFE_MUTEX. That is no longer the case. SAFE_MUTEX is not available on Microsoft Windows.
-
- 05 Jan, 2022 5 commits
-
-
Thirunarayanan Balathandayuthapani authored
purge_sys.stop_FTS() does not wait for purge operation on FTS tables to finish. InnoDB DDL does purge_sys.stop_FTS() and lock all fts tables. It eventually fails due to n_ref_count value. fts_stop_purge(): Stops the purge thread to process new FTS tables, check n_ref_count of all fts index auxiliary, common tables. This should make sure that consecutive fts_lock_tables() is always successful.
-
Marko Mäkelä authored
In commit c5fd9aa5 (MDEV-25919) an incorrect change to lock_release() was applied. The setting innodb_evict_tables_on_commit_debug=on should only be applied to normal transactions, not DDL transactions in the likes of CREATE TABLE, nor transactions that are holding dict_sys.latch, such as dict_stats_save().
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Give RemoveDatadirText field extra 10 pixels in height, to avoid truncated display of directory path
-
Jesús Marín authored
Further changes to 3e030488 New changes in translation: * Converted to LATAM countries treatment: tú for vd. This way it serves good for Spain and all LATAM countries. * Minor changes
-
- 04 Jan, 2022 5 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
InnoDB could sometimes hang when triggering a log checkpoint. This is due to commit 7b1252c0 (MDEV-24278), which introduced an untimed wait to buf_flush_page_cleaner(). The hang was noticed by occasional failures of IMPORT TABLESPACE tests, such as innodb.innodb-wl5522, which would (unnecessarily) invoke log_make_checkpoint() from row_import_cleanup(). The reason of the hang was that buf_flush_page_cleaner() would enter untimed sleep despite buf_flush_sync_lsn being set. The exact failure scenario is unclear, because buf_flush_sync_lsn should actually be protected by buf_pool.flush_list_mutex. We prevent the hang by invoking buf_pool.page_cleaner_set_idle(false) whenever we are setting buf_flush_sync_lsn and signaling buf_pool.do_flush_list. The bulk of these changes was originally developed as a preparation for MDEV-26827, to invoke buf_flush_list() from fewer threads, and tested on 10.6 by Matthias Leich. This fix was tested by running 100 repetitions of 100 concurrent instances of the test innodb.innodb-wl5522 on a RelWithDebInfo build, using ext4fs and innodb_flush_method=O_DIRECT on a SATA SSD with 4096-byte block size. During the test, the call to log_make_checkpoint() in row_import_cleanup() was present. buf_flush_list(): Make static. buf_flush_wait(): Wait for buf_pool.get_oldest_modification() to reach a target, by work done in the buf_flush_page_cleaner. If buf_flush_sync_lsn is going to be set, we will invoke buf_pool.page_cleaner_set_idle(false). buf_flush_ahead(): If buf_flush_sync_lsn or buf_flush_async_lsn is going to be set and the page cleaner woken up, we will invoke buf_pool.page_cleaner_set_idle(false). buf_flush_wait_flushed(): Invoke buf_flush_wait(). buf_flush_sync(): Invoke recv_sys.apply() at the start in case crash recovery is active. Invoke buf_flush_wait(). buf_flush_sync_batch(): A lower-level variant of buf_flush_sync() that is only called by recv_sys_t::apply(). buf_flush_sync_for_checkpoint(): Do not trigger log apply or checkpoint during recovery. buf_dblwr_t::create(): Only initiate a buffer pool flush, not a checkpoint. row_import_cleanup(): Do not unnecessarily invoke log_make_checkpoint(). Invoking buf_flush_list_space() before starting to generate redo log for the imported tablespace should suffice. srv_prepare_to_delete_redo_log_file(): Set recv_sys.recovery_on in order to prevent buf_flush_sync_for_checkpoint() from initiating a checkpoint while the log is inaccessible. Remove a wait loop that is already part of buf_flush_sync(). Do not invoke fil_names_clear() if the log is being upgraded, because the FILE_MODIFY record is specific to the latest format. create_log_file(): Clear recv_sys.recovery_on only after calling log_make_checkpoint(), to prevent buf_flush_page_cleaner from invoking a checkpoint. innodb_shutdown(): Simplify the logic in mariadb-backup --prepare. os_aio_wait_until_no_pending_writes(): Update the function comment. Apart from row_quiesce_table_start() during FLUSH TABLES...FOR EXPORT, this is being called by buf_flush_list_space(), which is invoked by ALTER TABLE...IMPORT TABLESPACE as well as some encryption operations.
-
- 03 Jan, 2022 6 commits
-
-
Otto Kekäläinen authored
Upstream Salsa-CI refactored the build process in https://salsa.debian.org/salsa-ci-team/pipeline/-/commit/58880fcef5b742cb9c661121a8c8707bf392b3b5 This broke our custom direct invocation of install-build-deps.sh as the Salsa-CI images no longer contain them. Adapt the .build-script equivalent to follow new Salsa-CI method so builds work again.
-
Marko Mäkelä authored
trx_purge_truncate_history(): Avoid a deadlock with buf_pool_t::release_freed_page(). Page latches are not supposed to be waited for while holding a mutex like buf_pool.mutex or buf_pool.flush_list_mutex. This regression was caused by commit aaef2e1d (MDEV-27058). Before that, trx_purge_truncate_history() would buffer-fix the block, release buf_pool.flush_list_mutex, and then wait for the exclusive page latch. This bug led to occasional failures of the test innodb.undo_truncate_recover.
-
Andrei authored
The reason of the double lock was an extraneous ha_flush_logs(). Unlike the upstream it is unnecessary in Mariadb that exploits a binlog checkpoint mechanism for not letting PURGE or RESET-MASTER to trouble transaction recovery. That is in case should a trx be prepared but its binlog file gone, the trx then is committed on disk too. Those facts have been always verified by existing tests of binlog.binlog_{checkpoint,xa_recover}.test. A regression test for the bug is included though.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Most of the Facebook contribution mysql/mysql-server@72d656acdf082d5ead1cc1be84f2fd68ab6a65a9 was removed in commit 5bea43f5 (MDEV-12353). Mainly the configuration parameter innodb_compression_level remains. It had been renamed to page_zip_level in mysql/mysql-server@5b38f2a712a7077c994c00787b891a7d4ee328df.
-
Marko Mäkelä authored
Let us directly use the constant 32 in recv_read_in_area().
-
- 31 Dec, 2021 1 commit
-
-
Jesús Marín authored
Cambiar mysql por maria
-
- 28 Dec, 2021 1 commit
-
-
Monty authored
Fixes main.sp-no-valgrind for valgrind builds not done with BUILD scripts
-
- 27 Dec, 2021 2 commits
-
-
Sergei Golubchik authored
--version=value was setting sys_var::CONFIG (meaning, the value came from the config file), but the filename was left as NULL.
-
Nayuta Yanagisawa authored
MDEV-27184 Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed, Assertion `str.alloced_length() >= str.length() + data_len' failed Spider crashes on a query that inserts some rows including float. This is because Spider allocates a string of insufficient length.
-
- 26 Dec, 2021 1 commit
-
-
Julius Goryavsky authored
-
- 25 Dec, 2021 1 commit
-
-
Julius Goryavsky authored
-
- 24 Dec, 2021 2 commits
-
-
Thirunarayanan Balathandayuthapani authored
This issue is caused by MDEV-24621 (commit 045757af). InnoDB tries to insert the number of rows into an empty spatial index table, but it fails to apply the buffered insert. InnoDB should insert into the spatial index directly instead of buffering the insert operation.
-
Julius Goryavsky authored
-
- 23 Dec, 2021 4 commits
-
-
Nayuta Yanagisawa authored
MDEV-27184 Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed, Assertion `str.alloced_length() >= str.length() + data_len' failed Spider crashes on a query that inserts some rows including float. This is because Spider allocates a string of insufficient length.
-
Julius Goryavsky authored
This is the first part of the fixes for MDEV-24097. This commit contains the fixes for instability when testing Galera and when restarting nodes quickly: 1) Protection against a "stuck" old SST process during the execution of the new SST (after restarting the node) is now implemented for mariabackup / xtrabackup, which should help to avoid almost all conflicts due to the use of the same ports - both during testing with mtr, so and when restarting nodes quickly in a production environment. 2) Added more protection to scripts against unexpected return of the rc != 0 (in the commands for deleting temporary files, etc). 3) Added protection against unexpected crashes during binlog transfer (in SST scripts for rsync). 4) Spaces and some special characters in binlog filenames shouldn't be a problem now (at the script level). 5) Daemon process termination tracking has been made more robust against crashes due to unexpected termination of the previous SST process while new scripts are running. 6) Reading ssl encryption parameters has been moved from specific SST scripts to a common wsrep_sst_common.sh script, which allows unified error handling, unified diagnostics and simplifies script revisions in the future. 7) Improved diagnostics of errors related to the use of openssl. 8) Corrections have been made for xtrabackup-v2 (both in tests and in the script code) that restore the work of xtrabackup with updated versions of innodb. 9) Fixed some tests for galera_3nodes, although the complete solution for the problem of starting three nodes at the same time on fast machines will be done in a separate commit. No additional tests are required as this commit fixes problems with existing tests.
-
Julius Goryavsky authored
-
Sergei Petrunia authored
-