- 25 May, 2022 1 commit
-
-
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).
-
- 24 May, 2022 4 commits
-
-
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.
-
- 23 May, 2022 1 commit
-
-
Marko Mäkelä authored
-
- 20 May, 2022 4 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Daniel Bartholomew authored
-
Daniel Bartholomew authored
-
- 19 May, 2022 1 commit
-
-
Oleg Smirnov authored
Cause: a copy of the joined TABLE_LIST is created during multi_update::prepare and TABLE::pos_in_table_list of the tables are set to point to the new TABLE_LIST object. This prevents some optimization steps to perform correctly. Solution: do not update pos_in_table_list during multi_update::prepare
-
- 18 May, 2022 1 commit
-
-
KiyoshiTakeda authored
MDEV-14642 Assertion 'table->s->db_create_options == part_table->s->db_create_options' failed in compare_table_with_partition When trying to execute ALTER TABLE EXCHANGE PARTITION with different definitions, assertion table->s->db_create_options == part_table->s->db_create_options failed in compare_table_with_partition(). However, this execution should not be allowed since executing 'exchange partition' requires the identical structure of the two tables. To fix the problem, I deleted the assertion code and added code that returns an error that indicates tables have different definitions. Reviewed By: Nayuta Yanagisawa
-
- 17 May, 2022 10 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
commit 84984b79 is null-merged
-
Julius Goryavsky authored
This commit sends a flag indicating the presence of the "--bypass" option from the donor node to the joiner nodes during rsync IST, because without such a flag it is impossible to distinguish IST from the SST on the joiner nodes (in IST/SST scripts, because the "--bypass" option is still not passed to scripts from server code). Specifically, this fixes an issue with binary logs disappearing after IST (via rsync). There are also changes to diagnostic messages here that will make it easier to diagnose script-related problems in the future when debugging and when checking the logs. This commit also adds more robust signal handlers - to handle exceptions during script execution. These handlers won't mask some crashes and it also unifies exit codes between different scripts. These changes have already been helpful to debugging "bypass" flag handling.
-
Julius Goryavsky authored
This commit fixes an issue with IST handling in version 10.9 which is a regression after MDEV-26971 and related to trying to get a non-existent "total" tag on the IST branch (this tag is only defined in SST mode).
-
Aleksey Midenkov authored
We cannot permanently change bits in read_partitions in the middle of processing because ha_rnd_init()/ha_rnd_end() depends on that.
-
Sergei Golubchik authored
prefer if/skip over require (works better with debugging, not affected by query log)
-
Sergei Golubchik authored
followup for c9b5a053
-
Sergei Golubchik authored
This reverts commit 17e0f522.
-
Alexander Barkov authored
-
Jan Lindström authored
Function wsrep_read_only_option was already removed in commit d54bc3c0 because it could cause race condition on variable opt_readonly so that value OFF can become permanent. Removed function again and added test case. Note that writes to TEMPORARY tables are still allowed when read_only=ON.
-
- 16 May, 2022 8 commits
-
-
Sergei Golubchik authored
same as MDEV-26412, but in CREATE...SELECT. fix: apply 39feab3c to create rule too.
-
Sergei Golubchik authored
-
Marko Mäkelä authored
The counter srv_stats.key_rotation_list_length is never updated, and therefore Innodb_encryption_key_rotation_list_length will always be 0. The view INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION comes close to reporting this information.
-
Marko Mäkelä authored
The counters were added in commit 5e55d1ce and any code to update them was inadvertently removed in commit 2e814d47 when applying InnoDB changes from MySQL 5.7. Let us remove these counters that never reported anything useful. If such statistics are really needed in a special case, they can be obtained by instrumenting the code by some means, such as eBPF or a source code patch.
-
Daniele Sciascia authored
This patch fixes a problem that arises when a Galera node acts as a replica for native replication. When parallel applying is enabled, it is possible to end up with attempts to write binlog events with gtids out of order. This happens because when multiple events are delivered from the native replication stream and applied in concurrently, it is for them to be replicated to the Galera cluster in an order which is different from the original order in which they were committed in the aync replication master. To correct this behavior we now wait_for_prior_commit() before replicating changes though galera. As a consequence, parallel appliers may apply events in parallel until the galera replication step, which is now serialized.
-
Jan Lindström authored
-
Jan Lindström authored
Add disconnect.
-
Jan Lindström authored
Decrease the number of tables and operations.
-
- 15 May, 2022 3 commits
-
-
Sergei Golubchik authored
followup for d16c3aca
-
Sergei Golubchik authored
to make the all headers -std=c++20 clean for those, who need c++20 (some plugins)
-
Sergei Petrunia authored
- In best_extension_by_limited_search(), do not check for "(remaining_tables & real_table_bit)", it is guaranteed to be true. Make it an assert. - In (!idx || check_interleaving_with_nj())", remove the !idx part. This check made sense only in the original version of this function. - "micro optimization" in check_interleaving_with_nj().
-
- 13 May, 2022 3 commits
-
-
Nayuta Yanagisawa authored
The condition of the if statements are always true.
-
Brandon Nesterenko authored
If a slave received a fake GLLE event after a GTID event it would terminate the group. This adds a test for the previous commit which fixed this issue (939672a). Review by Andrei Elkin <andrei.elkin@mariadb.com>
-
Andrei authored
GTID_LIST_EVENT or INCIDENT_EVENT. It's legal to have either of the two inside a group. E.g Gtid_event, Gtid_log_list_event, Query_1, ... Xid_log_event is permitted. However, the slave IO thread treated both as the terminal even when the group represents a DDL query. That causes a premature Gtid state update so the slave IO would think the whole group has been collected while in fact Query_1 etc are yet to process. Fixed with correcting a condition to compute the terminal event of the group. Tested with rpl_mysqlbinlog_slave_consistency (of 10.9) and rpl_gtid_errorlog.test.
-
- 12 May, 2022 1 commit
-
-
Hartmut Holzgraefe authored
Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
-
- 09 May, 2022 3 commits
-
-
Sergei Golubchik authored
remove AIX support, as 10.4 is not tested on AIX, so cannot test a regex
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-