- 14 Sep, 2022 2 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
Recording test results according to MDEV-29446 changes: mysql-test/suite/galera/r/MDEV-25494.result mysql-test/suite/galera/r/galera_ctas.result mysql-test/suite/galera/r/galera_schema.result mysql-test/suite/galera_3nodes/r/galera_wsrep_schema.result mysql-test/suite/galera_sr/r/galera_sr_create_drop.result
-
- 13 Sep, 2022 5 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
btr_lift_page_up(): If the leaf page only contains a hidden metadata record for MDEV-11369 instant ADD COLUMN, convert the table to the canonical format like we are supposed to do whenever the table becomes empty.
-
Alexander Barkov authored
Recording test results according to MDEV-29446 changes: storage/rocksdb/mysql-test/rocksdb/r/use_direct_io_for_flush_and_compaction.result
-
Sergei Golubchik authored
use correct python on rocky8 and alma8
-
Marko Mäkelä authored
row_merge_read_clustered_index(): Do not call mem_heap_empty(row_heap) before row_merge_spatial_rows() has been able to read the data.
-
- 12 Sep, 2022 3 commits
-
-
Alexander Barkov authored
-
Vladislav Vaintroub authored
use waitable_task.wait() function to wait for the end of previous purge
-
Marko Mäkelä authored
lock_place_prdt_page_lock(): Do not place locks on temporary tables. Temporary tables can only be accessed from one connection, so it does not make any sense to acquire any transactional locks on them.
-
- 09 Sep, 2022 1 commit
-
-
Andrei authored
The shutdown time assert was caused by untimely deactivation of the binlog background thread and related structs destruction. It could specifically occur when a transaction is replication unsafe and has to be completed with a ROLLBACK event in binlog. This gets fixed with the binlog background thread stop relocation to a point and user transactions have been completed. A test case is added to binlog.binlog_checkpoint which also receives as a bonus a minor correction to reactivate a MDEV-4322 test case that originally required a shutdown phase (that ceased to do).
-
- 08 Sep, 2022 1 commit
-
-
Vlad Lesin authored
Use suspend thread syncpoint instead of include/wait_condition.inc to make sure DELETE created waiting lock before the next UPDATE begins locking. This is backport of commit 0fa4dd07 from 10.6.
-
- 07 Sep, 2022 7 commits
-
-
Andrei authored
The ASAN report was made in the parallel slave execution of a query event and implicitly involved (so also parallelly run) Format-Description event. The Query actually had unexpected impossible dependency on a preceding "old" FD whose instance got destructed, to cause the ASAN error. The case is fixed with storing the FD's value into Query-log-event at its instantiating on slave. The stored value is from the very FD of the Query's original binlog so remains to be correct at the query event applying. The branch C. of a new rpl_parallel_29322.test also demonstrates (may need few --repeat though) the bug in its simple form of the same server version binlog.
-
Vladislav Vaintroub authored
# Conflicts: # sql/sql_connect.cc
-
Tuukka Pasanen authored
Preset include directory for configuration files below MariaDB 10.5 is /etc/mysql/conf.d Change installation location wrong plugin installation location from /etc/mysql/mariadb.d to default include directory /etc/mysql/conf.d. Change makes gssapi-server, oqgraph, rocksdb and tokudb plugins loading work after installation NOTE TO MERGERS: This commit should be upstream to MariaDB 10.4 only! Merging to MariaDB 10.5 and above leads to major problems.
-
Vladislav Vaintroub authored
Do not repeat yourself. Instead of having the same DBUG_EXECUTE_IF code in threadpool and thread-per-connection, add this code to setup_connection_thread_globals() which is executed in all scheduling modes.
-
Daniel Black authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 06 Sep, 2022 3 commits
-
-
Marko Mäkelä authored
trx_undo_rseg_free(): Revert an inadvertent change that was done as part of the merge a42c80bd
-
Thirunarayanan Balathandayuthapani authored
- During shutdown, InnoDB fts fails to update synced doc id when there is only one doc id about to sync. While starting the server, InnoDB fetches the already synced doc id from config table. In the subsequent sync operation, InnoDB fails with DB_DUPLICATE_KEY error.
-
Marko Mäkelä authored
In commit 244fdc43 (MDEV-29438) we made sure that if the preceding record is the page infimum record, no more than 8 bytes will be read from it. But, if the data payload of the being-inserted record is less than 8 bytes (this can happen in secondary indexes), we must not compare all 8 bytes. This was caught by a failure of the test gcol.innodb_virtual_basic under MemorySanitizer and some builds with AddressSanitizer.
-
- 05 Sep, 2022 2 commits
-
-
Jan Lindström authored
-
Marko Mäkelä authored
This bug was found in MariaDB Server 10.6 thanks to the OPT_PAGE_CHECKSUM record that was implemented in commit 4179f93d for catching this type of recovery failures. page_cur_insert_rec_low(): If the previous record is the page infimum, correctly limit the end of the record. We do not want to copy data from the header of the page supremum. This omission caused the incorrect recovery of DB_TRX_ID in an instant ALTER TABLE metadata record, because part of the DB_TRX_ID was incorrectly copied from the n_owned of the page supremum, which in recovery would be updated after the copying, but in normal operation would already have been updated at the time the common prefix was being determined. log_phys_t::apply(): If a data page is found to be corrupted, do not flag the log corrupted but instead return a new status APPLIED_CORRUPTED so that the caller may discard all log for this page. We do not want the recovery of unrelated pages to fail in recv_recover_page(). No test case is included, because the known test case would only work in 10.6, and even after this fix, it would trigger another bug in instant ALTER TABLE crash recovery.
-
- 03 Sep, 2022 2 commits
-
-
Andrei authored
The replication unsafe warning's pattern gets corrected in the punctuation part.
-
Brandon Nesterenko authored
MDEV-28530: Revoking privileges from a non-existing user on a master breaks replication on the slave in the presence of replication filters Problem: ======== Replication can break while applying a query log event if its respective command errors on the primary, but is ignored by the replication filter within Grant_tables on the replica. The bug reported by MDEV-28530 shows this with REVOKE ALL PRIVILEGES using a non-existent user. The primary will binlog the REVOKE command with an error code, and the replica will think the command executed with success because the replication filter will ignore the command while accessing the Grant_tables classes. When the replica performs an error check, it sees the difference between the error codes, and replication breaks. Solution: ======== If the replication filter check done by Grant_tables logic ignores the tables, reset thd->slave_expected_error to 0 so that Query_log_event::do_apply_event() can be made aware that the underlying query was ignored when it compares errors. Note that this bug also effects DROP USER if not all users exist in the provided list, and the patch fixes and tests this case. Reviewed By: ============ andrei.elkin@mariadb.com
-
- 01 Sep, 2022 1 commit
-
-
Nayuta Yanagisawa authored
Spider converts HA_READ_KEY_EXACT to the equality (=) in the function spider_db_append_key_where_internal() but the conversion is not necessarily correct for tables with prefix indices. We fix the bug by converting HA_READ_KEY_EXACT to 'LIKE "foo%"' when a target key is a prefix key. The fix is partly inspired by FEDERATED. See ha_federated::create_where_from_key() for more details.
-
- 31 Aug, 2022 7 commits
-
-
Marko Mäkelä authored
-
Daniele Sciascia authored
Making changes to wsrep_mysqld.h causes large parts of server code to be recompiled. The reason is that wsrep_mysqld.h is included by sql_class.h, even tough very little of wsrep_mysqld.h is needed in sql_class.h. This commit introduces a new header file, wsrep_on.h, which is meant to be included from sql_class.h, and contains only macros and variable declarations used to determine whether wsrep is enabled. Also, header wsrep.h should only contain definitions that are also used outside of sql/. Therefore, move WSREP_TO_ISOLATION* and WSREP_SYNC_WAIT macros to wsrep_mysqld.h. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
-
Daniel Black authored
-
Daniel Black authored
Because of a define error the wrong value was being returned. Regression in MDEV-28243 Fixes: 607f9874679c3e4ef7edcd2c9d80120051af73cc
-
Daniel Black authored
-
Daniel Black authored
-
Daniel Black authored
Thanks to references from Brad Smith, BSDs use getmntinfo as a system call for mounted filesystems. Most BSDs return statfs structures, (and we use OSX's statfs64), but NetBSD uses a statvfs structure. Simplify Linux getmntent_r to just use getmntent. AIX uses getmntent. An attempt at writing Solaris compatibility with a small bit of HPUX compatibility was made based on man page entries only. Fixes welcome. statvfs structures now use f_bsize for consistency with statfs Test case adjusted as PATH_MAX is OS defined (e.g. 1023 on AIX) Fixes: 0ee5cf83 also fixes: MDEV-27818: Disk plugin does not show zpool mounted devices This is because zpool mounted point don't begin with /. Due to the proliferation of multiple filesystem types since this was written, we restrict the entries listed in the disks plugin to excude: * read only mount points (no point monitoring, and includes squash, snaps, sysfs, procfs, cgroups...) * mount points that aren't directories (excludes /etc/hostname and similar mounts in containers). (getmntent (Linux/AIX) only) * exclude systems where there is no capacity listed (excludes various virtual filesystem types). Reviewer: Sergei Golubchik
-
- 30 Aug, 2022 5 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Add ORDER BY to make the test deterministic. Add FLUSH TABLES to avoid crash recovery warnings about the table mysql.plugin. This tends to occur on Valgrind, where the server shutdown could presumably time out, resulting in a forced kill.
-
Marko Mäkelä authored
dict_table_rename_in_cache(), dict_table_get_highest_foreign_id(): Reserve sufficient space for the fkid[] buffer, and ensure that the fkid[] will be NUL-terminated. The fkid[] must accommodate both the database name (which is already encoded in my_charset_filename) and the constraint name (which must be converted to my_charset_filename) so that we can check if it is in the format databasename/tablename_ibfk_1 (all encoded in my_charset_filename).
-
Marko Mäkelä authored
trx_undo_page_report_rename(): Use the correct maximum length of a table name. Both the database name and the table name can be up to NAME_CHAR_LEN (64 characters) times 5 bytes per character in the my_charset_filename encoding. They are not encoded in UTF-8! fil_op_write_log(): Reserve the correct amount of log buffer for a rename operation. The file name will be appended by mlog_catenate_string(). rename_file_ext(): Reserve a large enough buffer for the file names.
-
- 28 Aug, 2022 1 commit
-
-
Elena Stepanova authored
take into account C/C specific CR_ERR_NET_WRITE error
-