1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Commit Graph

197120 Commits

Author SHA1 Message Date
Daniel Black
069eb169b3 Merge branch '10.8' into 10.9 2022-12-15 08:39:46 +11:00
Daniel Black
89480340ba Merge commit 10.7 into 10.8 2022-12-15 08:37:57 +11:00
Daniel Black
6524551bcf Merge branch 10.6 into 10.7 2022-12-15 08:33:20 +11:00
Daniel Black
930ee43507 Merge branch '10.5' into 10.6 2022-12-15 08:30:51 +11:00
Daniel Black
0f351b620a rpm: server-post - use mariadb-install-db 2022-12-14 20:52:06 +00:00
Daniel Black
9ee055a27f Deb: mariadb-server.postinst to use mariadb-install-db 2022-12-14 20:52:06 +00:00
Daniel Black
40b62a93c6 mariadb-install-db: use mariadb names
Also refer to the service file for startup.
2022-12-14 20:52:06 +00:00
Daniel Black
952af4a179 Deb: MariaDB names as default for deb scripts
Also include the ftp.mariadb.org script rather than old name.
2022-12-14 20:52:06 +00:00
Marko Mäkelä
3faa68d15b Add missing error suppression 2022-12-14 10:18:37 +02:00
Marko Mäkelä
2f959a6910 Merge 10.8 into 10.9 2022-12-14 08:26:53 +02:00
Marko Mäkelä
757ae11688 Merge 10.7 into 10.8 2022-12-14 08:18:24 +02:00
Marko Mäkelä
98181a7c58 Merge 10.6 into 10.7 2022-12-14 06:57:04 +02:00
Marko Mäkelä
9be5973edd After-merge fix
This fixes up 25b91c3f13
2022-12-14 06:56:51 +02:00
Daniel Black
4b2e7616f8 Merge branch '10.5' into 10.6 2022-12-14 12:25:57 +11:00
Daniel Black
687657c270 MDEV-30172 re-disable galera tests
galera_sr.GCF-1060 'innodb'              w2 [ fail ]  timeout after 900 seconds

galera_3nodes.galera_ssl_reload At line 50: mysql_shutdown failed
galera_3nodes.galera_ssl_reload : MDEV-30172 At line 50: mysql_shutdown failed
galera_3nodes.GCF-354 : mysqltest: At line 39: query 'DROP TABLE test.t1' failed: 1047: WSREP has not yet prepared node for application use
galera_3nodes.GCF-354 : mysqltest: At line 30: query 'INSERT INTO test.t1 values (1)' failed: 1180: Got error 6 "No such device or address"

galera_wan : [ERROR] WSREP: /home/buildbot/buildbot/build/gcs/src/gcs_state_msg.cpp:gcs_state_msg_get_quorum():947: Failed to establish quorum.
2022-12-14 11:25:47 +11:00
Marko Mäkelä
b7914f562d Merge 10.8 into 10.9 2022-12-13 18:24:51 +02:00
Marko Mäkelä
d7a4ce3c80 Merge 10.7 into 10.8 2022-12-13 18:11:24 +02:00
Marko Mäkelä
25b91c3f13 Merge 10.6 into 10.7 2022-12-13 18:01:49 +02:00
Marko Mäkelä
a8a5c8a1b8 Merge 10.5 into 10.6 2022-12-13 16:58:58 +02:00
Marko Mäkelä
1dc2f35598 Merge 10.4 into 10.5 2022-12-13 14:39:18 +02:00
Sergei Golubchik
da5d349935 fix error on reading 5.5 tables with generated columns 2022-12-13 14:38:48 +02:00
Marko Mäkelä
fdf43b5c78 Merge 10.3 into 10.4 2022-12-13 11:37:33 +02:00
Daniel Black
04efe13501 Merge branch '10.5' into 10.6
Merge Jan's bb-10.6-merge-jan branch:

MDEV-30172 Galera test case cleanup

    * Delete tests that are not supported and not going to be supported
      any time soon
    * Fix result set on tests that are not run on bb
    * Fix tests that fail because of auto increment offset
    * Make sure that disabled tests have open bug report
2022-12-13 13:00:30 +11:00
Jan Lindström
cc78cd7d15 MDEV-30172 galera 10.5 test cleanup
galera.galera_bf_abort_at_after_statement disabled by Daniel Black
2022-12-13 12:49:13 +11:00
Daniel Black
3b249a6e56 Merge branch '10.5' into 10.6
Adjust galera/galera_3nodes disabled tests.
2022-12-13 11:12:24 +11:00
Daniel Black
58fecbebce mtr: galera/galera_3node disable failed tests 2022-12-13 11:09:32 +11:00
Daniel Black
72f1384c3a Merge branch 10.4 into 10.5 2022-12-13 09:57:19 +11:00
Daniel Black
382e85fe70 MDEV-30065: mariadb-install-db allow for --enforce-storage-engine=InnoDB
Hide the errors related to missing innodb stats tables in bootstrap mode
on the assumption that because we are in bootstrap mode they are going
to be created.
2022-12-13 08:47:48 +11:00
Marko Mäkelä
1862273c43 MDEV-30209 Race condition between fil_node_open_file() and renaming files
mtr_t::commit_file(): Protect the rename operation with fil_system.mutex
like we used to do before commit 2e43af69e3
in order to prevent fil_node_open_file() from running concurrently.
In other words, fil_system.mutex will protect the consistency of
fil_node_t::name and the file name in the file system.

This race condition should be very hard to trigger. We would need
a low value of innodb_open_files or table_cache limit so that
fil_space_t::try_to_close() will be invoked frequently. Simultaneously
with a RENAME operation, something (such as a write of a data page)
would have to try to open the file.
2022-12-12 11:41:12 +02:00
Marko Mäkelä
21ef68d52e Merge 10.8 into 10.9 2022-12-12 08:09:55 +02:00
Marko Mäkelä
57737258be Merge 10.7 into 10.8 2022-12-12 08:09:27 +02:00
Marko Mäkelä
dbcbee1017 Merge 10.6 into 10.7 2022-12-12 08:08:44 +02:00
Marko Mäkelä
cf437f6be9 Fix GCC -Og -Wmaybe-uninitialized
This fixes up commit dd5f4b3625
2022-12-12 08:07:47 +02:00
Marko Mäkelä
c4d7939989 MDEV-30180 Server hang with innodb_undo_log_truncate=ON
trx_purge_truncate_history(): In case of an apparent conflict with
buf_pool_t::release_freed_page(), always momentarily acquire
buf_pool.mutex, to let the thread that is holding it and waiting for
buf_pool.flush_list_mutex to proceed.

The fix in commit c410f7aaea was
insufficient, because simple yielding would not necessarily let
the conflicting thread to acquire buf_pool.flush_list_mutex.

This hang was reported and the fix tested by Axel Schwenke.
2022-12-12 07:54:38 +02:00
Daniel Black
c1cc6e8496 Correct DBUG_ENTER for Pushdown_derived::execute 2022-12-12 11:24:07 +11:00
Julius Goryavsky
a491400833 MDEV-29814: galera_var_notify_ssl_ipv6 causes testing system to hang
This commit fixes the test system hanging due to
the galera_var_notify_ssl_ipv6 test and also brings
the wsrep_notify[_ssl].sh files in line with each other
between the user template and the mtr suite.

Quotes are also added here to avoid problems if the
user specifies the value of one of the variables at the
beginning of the file containing shell-specific characters,
for example, if the password or username specified in the
PSWD and USER variables will contain the "$" character.

Also fixed an issue with automatic --ssl-verify-server-cert
option substitution when the corresponding value is set
by the user to "1" or "on".

Also fixed some tests here to avoid joining one of the nodes
to another cluster when the nodes are restarted from the mtr
side, which can lead to random failures when testing with
buildbot.
2022-12-10 01:11:55 +01:00
Julius Goryavsky
8f30973234 MDEV-29814: galera_var_notify_ssl_ipv6 causes testing system to hang
This commit fixes the test system hanging due to
the galera_var_notify_ssl_ipv6 test and also brings
the wsrep_notify[_ssl].sh files in line with each other
between the user template and the mtr suite.

Quotes are also added here to avoid problems if the
user specifies the value of one of the variables at the
beginning of the file containing shell-specific characters,
for example, if the password or username specified in the
PSWD and USER variables will contain the "$" character.

Also fixed an issue with automatic --ssl-verify-server-cert
option substitution when the corresponding value is set
by the user to "1" or "on".

Also fixed some tests here to avoid joining one of the nodes
to another cluster when the nodes are restarted from the mtr
side, which can lead to random failures when testing with
buildbot.
2022-12-09 17:52:26 +01:00
Marko Mäkelä
782b2a7500 MDEV-29144 ER_TABLE_SCHEMA_MISMATCH or crash on DISCARD/IMPORT
mysql_discard_or_import_tablespace(): On successful
ALTER TABLE...DISCARD TABLESPACE, evict the table handle from the
table definition cache, so that ha_innobase::close() will be invoked,
like InnoDB expects to be the case. This will avoid an assertion failure
ut_a(table->get_ref_count() == 0) during IMPORT TABLESPACE.

ha_innobase::open(): Do not issue any ER_TABLESPACE_DISCARDED warning.
Member functions for DML will do that.

ha_innobase::truncate(), ha_innobase::check_if_supported_inplace_alter():
Issue ER_TABLESPACE_DISCARDED warnings, to compensate for the removal of
the warning in ha_innobase::open().

row_quiesce_write_indexes(): Only write information about committed
indexes. The ALTER TABLE t NOWAIT ADD INDEX(c) in the nondeterministic
test case will most of the time fail due to a metadata lock (MDL) timeout
and leave behind an uncommitted index.

Reviewed by: Sergei Golubchik
2022-12-09 10:42:19 +02:00
Daniel Black
8f3631d009 MDEV-30150 ST_GeomFromGeoJSON, 'geometry' before 'type: feature' error
The geometry type requires Type:"Feature" but the feature need
not be first in the JSON structure.

Adjust code to return an error if geometry isn't a JSON object,
but continue parsing searching for Type: "Feature" to trigger
the geometry parsing.

Thanks Derick Magnusen for the bug report.
2022-12-09 08:49:43 +11:00
Tuukka Pasanen
851816532b MDEV-28834: Add minimal support for Lintian version 2.115 and above
Convert minimal amount of Lintian overrides to make Lintian
test pass also with Debian Sid latest Lintian 2.115 version.

Old style overrides are kept so they can be used with
older versions of Lintian.

Introduce minimal Lintian overrides which are common
from MariaDB version 10.5 up-to to 10.8.

Overrides added files:
  * debian/mariadb-test-data.lintian-overrides
    - MariaDB installs some shared objects to test-suite directory and not in
      '/usr/lib' or similar. Share objects is pam_mariadb_mtr.so. Tags are
      arch-dependent-file-in-usr-share and
      arch-independent-package-contains-binary-or-object Lintia
 * debian/mariadb-test.lintian-overrides
   - MariaDB installs some some binaries to test-sute directory and
     in mariadb-test package they are my_safe_process and
     wsrep_check_version. Tags is
     arch-dependent-file-in-usr-share
 * debian/source/lintian-overrides
   - In source there is some source files missing which should be addressed
     sql/share/charsets/languages.html and
     and storage/rocksdb/rocksdb/docs/_includes/footer.html.
     Tags is source-is-missing
   - Add Lintian override for missing:
     storage/columnstore/columnstore/utils/jemalloc/libjemalloc.so.2
   - Add Lintian override for substvar external resources:
     ${source:Version} libmariadb-dev -> libmysqlclient-dev [debian/control:66]
     ${source:Version} libmariadb-dev -> libmysqld-dev [debian/control:66]
     ${source:Version} libmariadbd-dev -> libmariadbclient-dev [debian/control:216]
2022-12-08 17:01:39 +00:00
Monty
dd5f4b3625 Fixed bug in Aria when used with enterprise mariadb-backup
If the backup finished in the middle of a Aria bulk load insert,
which could happen with LOAD DATA INFILE, CREATE ... SELECT etc)
there was a chance that Aria recovery would fail on the backup.

Fixed by ensuring that bulk load operations for Aria are not allowed
under BACKUP LOCK.
I also changed so that the table TRN is updated just before truncate
which ensures that old redo's for the table are ignored.
I also enabled Aria redo for DDL's to be able to repeat REPAIR commands.
Without this change recovery would not work on repaired tables.

Notes:
- We take the backup lock protection at the end of bulk insert (as we
  don't want to keep the lock over a very long running insert).
  If mariadb-backup keeps the backup lock too long,  this may fail with
  a lock timeout. In this case the batch insert will fail and the table
  will be truncated (set to it's original state).
2022-12-08 12:11:33 +02:00
Vladislav Vaintroub
d360fa6fa8 MDEV-30162 Fix occasional "Permission denied" on Windows caused by buggy 3rd party
Add retry logic for CreateFile, DeleteFile, or MoveFile
when GetLastError() is ERROR_SHARING_VIOLATION.
2022-12-07 14:26:10 +01:00
Marko Mäkelä
23f705f3a2 Merge 10.8 into 10.9 2022-12-07 09:43:38 +02:00
Marko Mäkelä
b3c254339b Merge 10.7 into 10.8 2022-12-07 09:43:13 +02:00
Marko Mäkelä
9e27e53dfa Merge 10.6 into 10.7 2022-12-07 09:39:46 +02:00
Nayuta Yanagisawa
2beede9ba4 MDEV-29636 Assertion `part_share->auto_inc_initialized || !can_use_for_auto_inc_init()' failed in ha_partition::set_auto_increment_if_higher upon REPLACE with partition pruning
The bug is caused by a similar mechanism as MDEV-21027.

The function, check_insert_or_replace_autoincrement, failed to open
all the partitions on REPLACE SELECT statements and it results in the
assertion error.
2022-12-07 16:34:56 +09:00
Jan Lindström
0174a9ff3d MDEV-30172: Galera test case cleanup
* Delete tests that are not supported and not going to be supported
  any time soon
* Fix result set on tests that are not run on bb
* Fix tests that fail because of auto increment offset
* Make sure that disabled tests have open bug report
2022-12-07 07:33:51 +02:00
Vladislav Vaintroub
9044e016c5 MDEV-29822 - disable a test that fails sporadically 2022-12-06 13:31:11 +01:00
Marko Mäkelä
e55397a46d Merge 10.5 into 10.6 2022-12-05 18:04:23 +02:00
Marko Mäkelä
0a7d85c97f MDEV-30148 Race condition between non-persistent statistics and purge
btr_cur_t::open_random_leaf(): Replaces btr_cur_open_at_rnd_pos().
Acquire a shared latch on each page, and finally release all
latches except the one on the leaf page.

This fixes a race condition between the purge of history and
btr_estimate_number_of_different_key_vals(), which turned out
to only hold a buffer-fix on the randomly chosen leaf page.
Typically, an assertion would fail in page_rec_is_supremum().

ibuf_contract(): Start from the beginning of the change buffer,
to simplify the logic. Starting with
commit b42294bc64
it does not matter much where the change buffer merge is being initiated.

The race condition may have been introduced as early as
mysql/mysql-server@ac74632293
from where it was copied to
commit 2e814d4702.

Reviewed by: Vladislav Lesin
Tested by: Matthias Leich
2022-12-05 18:00:22 +02:00