- 28 Mar, 2022 1 commit
-
-
Daniel Black authored
Was accidently included in ec62f46a. The autobake-deb.sh populates these files when needed.
-
- 25 Mar, 2022 6 commits
-
-
Tuukka Pasanen authored
Add requirement in Debian control file for libfmt 7.0 which is needed for building MariaDB. This supports the SFORMAT function added in MDEV-25015. + autobake-deb.sh so old Debian/Ubuntu still bundle the libfmt pulled in from upstream. Closes #2062
-
Daniel Black authored
-
Daniel Black authored
-
Daniel Black authored
Fixing the version of debian/ubuntu dependencies in 10.6 removes the apt-cache checking of libpmem and liburing dependencies. By arranging the checks earliest to latest, we unconditionally change the dependences in earlier versions, and in later versions we perform architecture checks to see if there is a dependency on this architecture before removing/changing. This takes from the architecture information on Ubuntu[1,2] and Debian[3,4]. [1] https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=liburing-dev [2] https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=libpmem-dev [3] https://packages.debian.org/search?suite=all§ion=all&arch=any&searchon=names&keywords=liburing-dev [4] https://packages.debian.org/search?suite=all§ion=all&arch=any&searchon=names&keywords=libpmem-dev
-
Daniel Black authored
-
Daniel Black authored
While moving to a prescribed dependencies in MDEV-28011, an error was made in the merge. The Ubuntu and Debian supported architectures of rocksdb-tools are different and need to be treated as such. This actually had no effect as our support of mariadb-plugin-rocksdb was never different to the distro support of rocksdb-tools. Some notes where added to this affect. There is also nothing to do for Debian sid, and never should be. The differentiation and grouping of distro codenames is for convenience in merging upwards as more dependencies change across distro versions. The fixing of versions rather than relying on apt-cache to be correct prevents unstable changes between releases, and potentially uninstallable packages like happened in MDEV-28014. Correct comment about zstd to MDEV-16525
-
- 24 Mar, 2022 5 commits
-
-
Rucha Deodhar authored
Analysis: utf8 character set is now utf8mb3 or utf8mb4. So charset_master is not able to find utf8 at the beginning of test. Hence it skips the tests that use charset_master. Fix: rename utf8 to utf8mb3 in charset_master.
-
Marko Mäkelä authored
buf_page_get_zip(): Do not perform a system call inside a memory transaction. Instead, if the page latch is unavailable, abort the memory transaction and let the fall-back code path wait for the page latch. buf_pool_t::watch_remove(): Return the previous state of the block. buf_page_init_for_read(): Use regular stores for moving the buffer fix count of watch_remove() to the new block descriptor. A more extensive version of this was reviewed by Daniel Black and tested with Intel TSX-NI by Axel Schwenke and Matthias Leich. My assumption that regular loads and stores would execute faster in a memory transaction than operations like std::atomic::fetch_add() turned out to be incorrect.
-
Marko Mäkelä authored
The call mtr.add_suppression() that was added in commit 75b7cd68 for MemorySanitizer and Valgrind runs is causing a result difference for the test rpl.rpl_gtid_stop_start. Let us disable the binlog for executing that statement. Also, the test perfschema.statement_program_lost_inst would fail due to the changes to have_innodb.inc in this commit. To compensate for that, we will make more --suite=perfschema tests run without InnoDB, and explicitly enable InnoDB in those tests that depend on a transactional storage engine.
-
Daniel Black authored
-
Daniel Black authored
-
- 23 Mar, 2022 8 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
S3 engine and libmarias3 don't compile on Windows also fixes: MDEV-28104 Typo in storage/maria/s3_func.c: 'FN_DECVHAR
-
Marko Mäkelä authored
A few regression tests invoke heavy flushing of the buffer pool and may trigger warnings that tablespaces could not be deleted because of pending writes. Those warnings are to be expected during the execution of such tests. The warnings are also frequently seen with Valgrind or MemorySanitizer. For those, the global suppression in have_innodb.inc does the trick.
-
Marko Mäkelä authored
This was suggested by Sergei Golubhick. Fixes up commit b91a123d
-
Thirunarayanan Balathandayuthapani authored
- InnoDB should check whether bulk transaction id set to its own transaction id before start bulk insert operation. - When bulk insert failure happens, InnoDB should set the error info of the transaction.
-
Tuukka Pasanen authored
Lintian uses objdump-command to determine is share object linked against C-libary. Compression provider shared objects does not have any symbols from C-library they only depend compression library and MariaDB libaries. This is false-positive as Lintian error itself is correct as shared object does not share any symbols from for example Glibc. Added overrides suppress Lintian errors: * E: mariadb-plugin-provider-bzip2: library-not-linked-against-libc usr/lib/mysql/plugin/provider_bzip2.so * E: mariadb-plugin-provider-lz4: library-not-linked-against-libc usr/lib/mysql/plugin/provider_lz4.so * E: mariadb-plugin-provider-lzma: library-not-linked-against-libc usr/lib/mysql/plugin/provider_lzma.so * E: mariadb-plugin-provider-lzo: library-not-linked-against-libc usr/lib/mysql/plugin/provider_lzo.so * E: mariadb-plugin-provider-snappy: library-not-linked-against-libc usr/lib/mysql/plugin/provider_snappy.so
-
Tuukka Pasanen authored
There is missing conflict and breaks for MariaDB 10.6 which can cause upgrading from 10.6 not be clean and end up with errors on Debian.
-
Tuukka Pasanen authored
Fix Debian lintian errors: E: mariadb-plugin-provider-bzip2: extended-description-is-empty E: mariadb-plugin-provider-lz4: extended-description-is-empty E: mariadb-plugin-provider-lzma: extended-description-is-empty E: mariadb-plugin-provider-lzo: extended-description-is-empty E: mariadb-plugin-provider-snappy: extended-description-is-empty by adding Debian Policy Manual section 3.4 (The description of a package) extended descriptions to mariadb-plugin-provide-* packages
-
- 22 Mar, 2022 2 commits
-
-
Andrei authored
MDEV-21117 had to relax own events acceptance condition for a case when a former semisync master server recovers after crash as the semisync slave. That however admitted a possibility for endless event "orbiting" in the non-strict slave gtid mode of semisync circular setup. The same server-id event termination is restored now for the non-strict gtid mode to follow regular rules (that is it's ignored unless @@global.replicate_same_server_id allows it in). To address MDEV-21117 recovery agenda, in the strict gtid mode and the transaction's gtid ordered strictly greater than the current slave gtid state, the same server-id transaction is accepted. The gtid strict mode is safe to accept transactions even if the slave state were not set correct by the user, e.g at the former master. An added test shows a typical out-of-order error at execution so no data corruption is guaranteed in such a case.
-
Julius Goryavsky authored
-
- 18 Mar, 2022 3 commits
-
-
Marko Mäkelä authored
The fix in commit 6e390a62 (MDEV-26772) was a step to the right direction, but implemented incorrectly. When an InnoDB persistent statistics table cannot be locked immediately, we must not let row_mysql_handle_errors() to roll back the transaction. lock_table_for_trx(): Add the parameter no_wait (default false) for an immediate return of DB_LOCK_WAIT in case of a conflict. ha_innobase::delete_table(), ha_innobase::rename_table(): Pass no_wait=true to lock_table_for_trx() when needed, instead of temporarily setting THDVAR(thd, lock_wait_timeout) to 0.
-
Otto Kekäläinen authored
Since Debian Sid now has MariaDB 10.6, we can't do any upgrade tests in Debian Sid for the 10.5 branch anymore. It would just fail with downgrade errors. Also, since MariaDB 10.5 is no longer in Sid, we can't even test 10.5.x to 10.5.y upgrades in Sid. Instead the 10.5 branch salsa-ci.yml should run all builds and tests based on Debian Bullseye, which has MariaDB 10.5 (only). To achieve this, essentially sync most the the salsa-ci.yml contents from https://salsa.debian.org/mariadb-team/mariadb-10.5/-/tree/bullseye Also add a couple Lintian overrides to make Salsa-CI pass. NOTE TO MERGERS: This commit is intended for the 10.5 branch only, do not merge anything from it on 10.6 or any other branch.
-
Daniel Black authored
-
- 17 Mar, 2022 3 commits
-
-
Sergei Golubchik authored
normally, one has to include my_global.h before including psi/psi*.h files. ColumnStore cannot do it, so it needs a workaround.
-
Marko Mäkelä authored
In commit ab38b751 an added "goto err" would seemingly cause a read of an uninitialized variable old_info if errpos>=5. However, because we would have errpos=0 at that point, there was no real error.
-
Daniel Black authored
-
- 16 Mar, 2022 5 commits
-
-
Marko Mäkelä authored
dict_get_and_save_data_dir_path(): Protect the operation with dict_table_t::lock_mutex and avoid unnecessary memory allocation.
-
Thirunarayanan Balathandayuthapani authored
- InnoDB purge waits at resume_FTS() while shutting down. This happens after altering the FTS innodb partition table. stop_FTS() has been called for each partition, but it calls resume_FTS() only once and it leads to hang during shutdown. This issue was introduced by commit 1bd681c8(MDEV-25506).
-
Daniel Black authored
extra2_read_len resolved by keeping the implementation in sql/table.cc by exposed it for use by ha_partition.cc Remove identical implementation in unireg.h (ref: bfed2c7d)
-
Daniel Black authored
-
Alexander Barkov authored
-
- 15 Mar, 2022 7 commits
-
-
Daniel Black authored
Uses 500M+ of memory by repeating an 8 byte sequence 62.5M times. Reduce the number of repeats on string reduced by 100 times. Tested by applying against the reverted MDEV-24909 code. 1000 times reduction was too much, but 100 still managed to trigger the bug.
-
Daniel Black authored
Per Marko's comment in JIRA, sql_kill is passing the thread id as long long. We change the format of the error messages to match, and cast the thread id to long long in sql_kill_user.
-
Daniel Black authored
The 10.5 test error main.grant_kill showed up a incorrect thread id on a big endian architecture. The cause of this is the sql_kill_user function assumed the error was ER_OUT_OF_RESOURCES, when the the actual error was ER_KILL_DENIED_ERROR. ER_KILL_DENIED_ERROR as an error message requires a thread id to be passed as unsigned long, however a user/host was passed. ER_OUT_OF_RESOURCES doesn't even take a user/host, despite the optimistic comment. We remove this being passed as an argument to the function so that when MDEV-21978 is implemented one less compiler format warning is generated (which would have caught this error sooner). Thanks Otto for reporting and Marko for analysis.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
buf_flush_freed_pages(): Assert that neither buf_pool.mutex nor buf_pool.flush_list_mutex are held. Simplify the loops. Return the tablespace and the number of pages written or punched. buf_flush_LRU_list_batch(), buf_do_flush_list_batch(): Release buf_pool.mutex before invoking buf_flush_space(). buf_flush_list_space(): Acquire the mutexes only after invoking buf_flush_freed_pages(). Reviewed by: Thirunarayanan Balathandayuthapani
-
Marko Mäkelä authored
Include my_global.h before mysql.h so that the latter will not redefine my_socket and my_ulonglong. Fixup for commit 77c184df
-