- 29 Sep, 2022 1 commit
-
-
Sergei Golubchik authored
thd_get_ha_data() can be used without a lock, but only from the current thd thread, when calling from anoher thread it *must* be protected by thd->LOCK_thd_data * fix group commit code to take thd->LOCK_thd_data * remove innobase_close_connection() from the innodb background thread, it's not needed after 87775402 and was failing the assert with current_thd==0
-
- 28 Sep, 2022 4 commits
-
-
Sergei Golubchik authored
MDEV-29368 Assertion `trx->mysql_thd == thd' failed in innobase_kill_query from process_timers/timer_handler and use-after-poison in innobase_kill_query This is a 10.5 version of 9b750dcb, fix for MDEV-23536 Race condition between KILL and transaction commit InnoDB needs to remove trx from thd before destroying it (trx), otherwise a concurrent KILL might get a pointer from thd to a destroyed trx. ha_close_connection() should allow engines to clear ha_data in hton->on close_connection(). To prevent the engine from being unloaded while hton->close_connection() is running, we remove the lock from ha_data and unlock the plugin manually.
-
Sergei Golubchik authored
split it into debug and non-debug tests
-
Sergei Golubchik authored
only "hard" kills will now interrupt debug_sync waits. this is needed to have debug_sync points that work during disconnect
-
Daniel Black authored
rather than mariadb/mariadb-check
-
- 26 Sep, 2022 2 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 23 Sep, 2022 3 commits
-
-
Marko Mäkelä authored
There are separate flags DBUG_OFF for disabling the DBUG facility and ENABLED_DEBUG_SYNC for enabling the DEBUG_SYNC facility. Let us allow debug builds without DEBUG_SYNC. Note: For CMAKE_BUILD_TYPE=Debug, CMakeLists.txt will continue to define ENABLED_DEBUG_SYNC.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
In commit 28325b08 a compile-time option was introduced to disable the macros DBUG_ENTER and DBUG_RETURN or DBUG_VOID_RETURN. The parameter name WITH_DBUG_TRACE would hint that it also covers DBUG_PRINT statements. Let us do that: WITH_DBUG_TRACE=OFF shall disable DBUG_PRINT() as well. A few InnoDB recovery tests used to check that some output from DBUG_PRINT("ib_log", ...) is present. We can live without those checks. Reviewed by: Vladislav Vaintroub
-
- 22 Sep, 2022 3 commits
-
-
Jan Lindström authored
MDEV-28868 : wsrep_incoming_address status variable prints 0 as port number if the port is not mentioned in wsrep_node_incoming_address system variable Problem was that mysqld_port is not set on set_ports() because it will be executed later. Fix is naturally fall back to MYSQL_PORT.
-
Marko Mäkelä authored
row_log_table_apply_update(): Free the pcur.old_rec_buf before returning. It may be allocated by btr_pcur_store_position() inside btr_blob_log_check_t::check() and btr_store_big_rec_extern_fields(). This memory leak was introduced in commit 2e814d47 (MariaDB Server 10.2.2) via mysql/mysql-server@ce0a1e85e24e48b8171f767b44330da635a6ea0a (MySQL 5.7.5).
-
Marko Mäkelä authored
-
- 21 Sep, 2022 2 commits
-
-
Alexey Botchkov authored
The fix for MDEV-29352 was pushed to 10.6+ but the code causing the bug is old and the bug is unlikely to be a recent regression in 10.6. So, we apply the fix also to older versions, 10.3-10.5. The original commit message: MDEV-29352 SIGSEGV's in strlen and unknown location on optimized builds at SHUTDOWN When the UDF creation frails to write the newly created UDF into the related system table, the UDF is still created in memory. However, as it is now, the related DLL is unloaded in this case right in the mysql_create_function. And failure happens when the UDF handle is freed and tries to unload the respective DLL which is still unloaded.
-
Ian Gilfillan authored
-
- 20 Sep, 2022 5 commits
-
-
Brandon Nesterenko authored
The rpl_row_img_sequence test can fail on resource constrained buildbot machines due to its high space consumption. To reduce this footprint, the test is split into three parts, one for each value of the binlog_row_img variable.
-
Sergei Golubchik authored
when generating a query to send to a remote server, spider generates new aliases for all tables in the query (at least in the group_by handler). First it walks all the expressions and create a list of new table aliases to use for each field. Then - in init_scan() - it actually generates the query, taking for each field the next alias from the list. It dives recursively into functions, for example, for func(f1) it'll go in, will see the field f1 and append to the list the new name for the table of f1. This works fine for non-aggregate functions and for aggregate functions in the SELECT list. But aggregate functions in the ORDER BY are always references to the select list, they never need to be qualified with a table name. That is, even if there is a field name as an argument of an aggregate function in the ORDER BY it must not append a table alias to the list. Let's just skip aggregate functions when analyzing ORDER BY for table aliases. This fixes spider/bugfix.mdev_29008 (was observed on aarch64, x86, ppc64le, and amd64 --rr)
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
-
- 19 Sep, 2022 11 commits
-
-
Andrew Hutchings authored
* MDEV-29426 Fix memory leak in CONNECT JSON/BSON If information is being gathered on JSON/BSON tables we leak the heap allocated to the table class. With this fix we close and cleanup instead, just as we do for XML tables.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The reason why mysql/mysql-server@8020cfac20c55a870a874446870d5e90bdc181ed split the files was some unit tests that never existed in the MariaDB Server code base. The storage/innobase/unittest/ works just fine with this file. This is reverting part of 2e814d47 which applied InnoDB changes from MySQL 5.7.9.
-
Marko Mäkelä authored
The futex system calls were introduced in Linux 2.6.0, which was released in December 2003. It should be safe to assume that the system calls are always available on the Linux kernels that MariaDB Server 10.3 would run on.
-
Marko Mäkelä authored
There should be no point to disable branch prediction hints or prefetch.
-
Marko Mäkelä authored
Let us use the normal platform-specific preprocessor symbols __linux__, __sun__, _AIX instead of some homebrew ones. The preprocessor symbol UNIV_HPUX must have lost its meaning by f6deb00a (note: the symbol UNIV_HPUX10 is being checked for, but only UNIV_HPUX is defined).
-
Marko Mäkelä authored
log_phys_t::apply(): When parsing an INSERT_HEAP_DYNAMIC record, allow ll==rlen to hold for the last part. A secondary index record may inherit all preceding bytes from the infimum pseudo-record. For INSERT_HEAP_REDUNDANT, some header bytes will always be present because the header will never be copied from the page infimum. We will tolerate ll==rlen also in that case to be consistent with the parsing of INSERT_HEAP_DYNAMIC.
-
Marko Mäkelä authored
Thanks to Thirunarayanan Balathandayuthapani for spotting this.
-
Daniel Black authored
-
Ian Gilfillan authored
-
Ian Gilfillan authored
-
- 15 Sep, 2022 3 commits
-
-
Alexander Barkov authored
Recording test results according to MDEV-29446 changes: mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result mysql-test/suite/galera/r/galera_sync_wait_show.result mysql-test/suite/galera/r/lp1376747-4.result mysql-test/suite/s3/replication_partition.result mysql-test/suite/s3/replication_stmt.result
-
Vladislav Vaintroub authored
Force using english for error messages (i.e ASCII) to avoid encoding mixup.
-
Alexander Barkov authored
Recording test results according to MDEV-29446 changes: mysql-test/suite/galera/r/galera-features#117.result mysql-test/suite/galera/r/galera_can_run_toi.result mysql-test/suite/galera/r/wsrep_strict_ddl.result mysql-test/suite/s3/alter.result mysql-test/suite/s3/arguments.result mysql-test/suite/s3/basic.result mysql-test/suite/s3/encryption.result mysql-test/suite/s3/innodb.result mysql-test/suite/s3/mysqldump.result mysql-test/suite/s3/partition.result mysql-test/suite/s3/partition_move.result mysql-test/suite/s3/replication_delayed.result mysql-test/suite/s3/replication_mixed.result
-
- 14 Sep, 2022 6 commits
-
-
Sergei Golubchik authored
this test loads sql_errlog plugin. then in a second connection it triggers an error, this locks the plugin in that thd. then the plugin is uninstalled in the default connection. but that doesn't unload the plugin, as it's still locked. it'll auto-unload after the foo connection is closed. without an explicit disconnect it is closed after mysqltest exits and the post-test check might still see sql_errlog not fully unoaded.
-
Sergei Golubchik authored
check_audit_mask(mysql_global_audit_mask, event_class_mask) is tested in mysql_audit_general_log() and then assert in mysql_audit_acquire_plugins() verifies that the condition still holds. But this code path is not protected by LOCK_audit_mask, so mysql_global_audit_mask can change its value between the if() and the assert. That is, the assert is invalid and will fire if the audit plugin is unloaded concurrently with mysql_audit_general_log(). Nothing bad will happen in this case though, we'll just do a useless loop over all remaining installed audit plugins. That is, the fix is simply to remove the assert.
-
Alexander Barkov authored
Recording test results according to MDEV-29446 changes: mysql-test/suite/maria/max_length.result
-
Anel Husakovic authored
- Commit c8948b0d introduced `get_one_variable()` - updating missing argument. - Remove caller setting of empty string in `rpl_filter`, since underlying functions will do the same (commit 9584cbe7 introduced). Reviewed by: <brandon.nesterenko@mariadb.com>
-
Alexander Barkov authored
-
Vicențiu Ciorbaru authored
The issue manifests due to a bug in mysql_routine_grant. This was a side effect of e46eea86 which fixed the problem of not giving appropriate error message (ER_NONEXISTING_PROC_GRANT) when a routine grant existed due to role inheritance. When granting a routine privilege, it is possible to have a GRANT_NAME entry already created from an inherited role, but with it's init_privs set to 0. In this case we must not create a *new* grant entry, but we must edit this grant entry to set its init_privs. Note that this case was already covered by MDEV-29458, however due to a forgotten "flush privileges;" the actual code path never got hit. Remove the flush privilege command as it was never intended to be there in the first place.
-