- 06 Jun, 2022 2 commits
-
-
Monty authored
Reading the last page of table with "dynamic page" format would generate an error when reading after the last row. This was never noticed as when using Aria as a handler any error messages generated by _ma_set_fatal_error() was ignored.
-
Monty authored
If we got a read error from S3, we did not signal threads waiting to read blocks in the read-range. This caused these threads to hang forever. There is still one issue left that the S3 error will be logged as an 'table is crashed' error instead of the IO error. This will be fixed by a larger patch in 10.6 that improves error reporting from Aria. There is no test case for this as it is very hard to repeat. I tested this with a patch that causes random read failures in S3 used perl multi-threaded test with 8 threads to simulate reads. This patch fixes all found hangs.
-
- 03 Jun, 2022 1 commit
-
-
Alexander Barkov authored
This is a 10.5 version of the patch.
-
- 02 Jun, 2022 5 commits
-
-
Marko Mäkelä authored
mtr_t::modify(): Set the m_made_dirty flag if needed, so that buf_pool_t::insert_into_flush_list() will be invoked while holding log_sys.flush_order_mutex. This is something that was should have been part of commit b212f1da (MDEV-22107).
-
Marko Mäkelä authored
-
Marko Mäkelä authored
mtr_t::is_empty(): Replaces mtr_t::get_log() and mtr_t::get_memo(). mtr_t::get_log_size(): Replaces mtr_t::get_log(). mtr_t::print(): Remove, unused function. ReleaseBlocks::ReleaseBlocks(): Remove an unused parameter.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 01 Jun, 2022 2 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 30 May, 2022 9 commits
-
-
Monty authored
- Fixed wrong DBUG_ASSERT when waiting for big-block-read - Update S3_pagecache_reads counter when reading a block from S3. Before this patch the variable value was always 0 Reviewer: Oleksandr Byelkin <sanja@mariadb.com>
-
Monty authored
The assert happens in 10.6 with the following command: ./mtr --no-reorder --verbose-restart main.update_ignore_216 main.upgrade_MDEV-19650 main.upgrade_MDEV-23102-1 main.upgrade_MDEV-23102-2 main.upgrade_geometrycolumn_procedure_definer main.upgrade_mdev_24363 main.varbinary sys_vars.aria_log_file_size_basic Reviewer: Oleksandr Byelkin <sanja@mariadb.com>
-
Monty authored
-
Marko Mäkelä authored
comp_thread_ctxt_t: Remove ctrl_mutex, ctrl_cond, started. We do not actually need them for anything. destroy_worker_thread(): Split from destroy_worker_threads(). create_worker_threads(): We already initialize thd->data_avail=FALSE and thd->cancelled=FALSE before invoking pthread_create(). If any thread creation fails, clean up by destroy_worker_thread(). compress_worker_thread_func(): Assume that thd->started and thd->data_avail are already initialized. Reviewed by: Vladislav Vaintroub
-
Masashi Tomooka authored
ER_CHECK_NO_SUCH_TABLE was raised because a view does not have the corresponding TABLE instance connected to TABLE_LIST and the server interprets the absence as the absence of the table itself. To fix the problem, we add a check to ensure that the target table to be swapped with a partition is not a view. Reviewed by: Nayuta Yanagisawa
-
mkaruza authored
MDEV-27862 Galera should replicate nextval()-related changes in sequences with INCREMENT <> 0, at least NOCACHE ones with engine=InnoDB Sequence storage engine is not transactionl so cache will be written in stmt_cache that is not replicated in cluster. To fix this replicate what is available in both trans_cache and stmt_cache. Sequences will only work when NOCACHE keyword is used when sequnce is created. If WSREP is enabled and we don't have this keyword report error indicting that sequence will not work correctly in cluster. When binlog is enabled statement cache will be cleared in transaction before COMMIT so cache generated from sequence will not be replicated. We need to keep cache until replication. Tests are re-recorded because of replication changes that were introducted with this PR. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
-
Jan Lindström authored
wsrep_server_incoming_address function always returned value of the wsrep_node_incoming_address even when actual incoming address was resolved to inc_addr variable. Fixed by returning inc_addr if it does contain incoming address.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
no need to run all alter tests three times with no changes whatsoever
-
- 29 May, 2022 1 commit
-
-
Monty authored
The symtom of the bug was that check table on an S3 table when using --s3_slave-ignore-updates=1 could print "9 when updating keyfile"
-
- 27 May, 2022 1 commit
-
-
Mathew Heard authored
If the connecting user doesn't have alter table privilege this isn't allowed. This patch removes enable / disable key commands that should never have been here Closes #2002
-
- 26 May, 2022 1 commit
-
-
Ting Nian authored
For compatibility reasons, add the option to the MariaDB client without any functional changes besides simply accepting the option and emitting a warning that it is obsolete. In MySQL this security related option is compulsory in certain use cases. When users switch to MariaDB, this client command that used to work starts failing without a sensible error message. In worst case users resort to re-installing the mysql client from MySQL. In MariaDB the option is obsolete and should simply be ignored. Users however don't have any opportunity to learn that unless the client program tells them so. Before: mysql --enable-cleartext-plugin ... mysql: unknown option '--enable-cleartext-plugin' (program terminates) After: mysql --enable-cleartext-plugin ... WARNING: option '--enable-cleartext-plugin' is obsolete. (program executes) All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc.
-
- 25 May, 2022 5 commits
-
-
kkz authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
srv_do_purge(): In commit edde1f6e when the de-facto 32-bit trx_sys_t::history_size() was replaced with 32-bit trx_sys.rseg_history_len, some more variables were changed from ulint (size_t) to uint32_t. The history list length is the number of committed transactions whose undo logs are waiting to be purged. Each TRX_RSEG_HISTORY list is storing the number of entries in a 32-bit field and each transaction will occupy at least one undo log page. It is thinkable that the length of each TRX_RSEG_HISTORY list may approach the maximum representable number. The number cannot be exceeded, because the rollback segment header is allocated from the same tablespace as the undo log header pages it is pointing to, and because the page numbers of a tablespace are stored in 32 bits. In any case, it is possible that the total number of unpurged committed transactions cannot be represented in 32 but 39 bits (corresponding to 128 rollback segments and undo tablespaces).
-
Marko Mäkelä authored
page_cur_insert_rec_low(): When checking for common bytes with the preceding record, exclude the header bytes of next_rec that could have been updated by this function. The scenario where this caused corruption was an insert of a node pointer record. The child page number was written as 0x203 but recovered as 0x103 because the n_owned field of next_rec was changed from 1 to 2 before the comparison was invoked.
-
Thirunarayanan Balathandayuthapani authored
- InnoDB fails to create a fts cache while loading the innodb fts table which is stored in system tablespace. InnoDB should create the fts cache while loading FTS_DOC_ID column from system column.
-
- 24 May, 2022 11 commits
-
-
Monty authored
Backported fix from MariaDB 10.5
-
Monty authored
-
Michael Widenius authored
Test will fail if XML support is not compiled. This can happen if XML support is disabled or if the libxml2 library is not installed.
-
Michael Widenius authored
This can happen if one doesn't have a working network connection when running spider tests
-
Jan Lindström authored
-
Jan Lindström authored
MDEV-20888 : Galera test failure on galera.galera_pc_ignore_sb: 2013: Lost connection to MySQL server during query Add debug info.
-
Jan Lindström authored
Add expected error.
-
Jan Lindström authored
MDEV-18283 : Galera test failure on galera.GCF-1081 Remove tests.
-
Jan Lindström authored
-
Tuukka Pasanen authored
Commit introduces automatic detection which supported Perl MariaDB DBI driver is available: * DBD::mysql * DBD::MariaDB If nothing is then bail out and die Current Detection prefers Perl DBD:MariaDB driver. This is mainly for older Linux distros or Windows which does not have Perl DBD:MariaDB packaged or does not want to use Perl cpan command.
-
Norio Akagi authored
Improve and add more languages for the ERROR 1476: Foreign Server already exists.
-
- 23 May, 2022 2 commits
-
-
Tingyao Nian authored
When reading the man page of e.g. 'mysql' on a system with MariaDB installed one would actually see the man page of 'mariadb'. However the man page had no indication of the page being for 'mariadb', which was confusing for users. Fix this by updating the man page title lines to use mariadb-* instead of mysql* for MariaDB binaries that are drop-in replacements for MySQL equivalents, indicating that the commands are actually of the MariaDB version. In long term, all the commands in man pages should be replaced by their MariaDB counterparts. Update the title lines as a start, and only those that exist as symlinks to their MariaDB counterparts. Before: man mariadb-upgrade | head -n 1 MYSQL_UPGRADE(1) ... After: man mariadb-upgrade | head -n 1 MARIADB-UPGRADE(1) ... All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc.
-
Julius Goryavsky authored
-