Commit graph

196673 commits

Author SHA1 Message Date
Marko Mäkelä
347e22fbf8 Merge bb-10.6-release into 10.6 2023-05-19 14:23:53 +03:00
Marko Mäkelä
e5933b99d5 MDEV-31234 related cleanup
trx_purge_free_segment(), trx_purge_truncate_rseg_history():
Replace some unreachable code with debug assertions.
A buffer-fix does prevent pages from being evicted
from the buffer pool; see buf_page_t::can_relocate().

Tested by: Matthias Leich
2023-05-19 12:25:30 +03:00
Marko Mäkelä
37492960f3 Merge 10.5 into 10.6 2023-05-19 12:24:58 +03:00
Marko Mäkelä
e0084b9d31 MDEV-31234 InnoDB does not free UNDO after the fix of MDEV-30671
trx_purge_truncate_history(): Only call trx_purge_truncate_rseg_history()
if the rollback segment is safe to process. This will avoid leaking undo
log pages that are not yet ready to be processed. This fixes a regression
that was introduced in
commit 0de3be8cfd (MDEV-30671).

trx_sys_t::any_active_transactions(): Separately count XA PREPARE
transactions.

srv_purge_should_exit(): Terminate slow shutdown if the history size
does not change and XA PREPARE transactions exist in the system.
This will avoid a hang of the test innodb.recovery_shutdown.

Tested by: Matthias Leich
2023-05-19 12:19:26 +03:00
Marko Mäkelä
a3e5b5c4db Merge 10.5 into 10.6 2023-05-15 09:02:32 +03:00
Tuukka Pasanen
f522b0f230 MDEV-30951: Fix small perlcritic and enable modern Perl
Add Modern Perl headers. Perl 5.16 is still fairly
old from 2012.

Enable UTF-8, warnings and make script 'strict'

Small fixes for perlcritic reported problems and some crashes

I/O layer ":utf8" used at line 268, column 16.  Use ":encoding(UTF-8)" to get strict validation.  (Severity: 5)
"return" statement with explicit "undef" at line 806, column 4.  See page 199 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 6844, column 4.  See page 199 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 7524, column 4.  See page 199 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 7527, column 4.  See page 199 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 7599, column 4.  See page 199 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 7602, column 4.  See page 199 of PBP.  (Severity: 5)
Expression form of "eval" at line 7784, column 4.  See page 161 of PBP.  (Severity: 5)
Expression form of "eval" at line 7806, column 4.  See page 161 of PBP.  (Severity: 5)
Glob written as <...> at line 8016, column 25.  See page 167 of PBP.  (Severity: 5)
"return" statement followed by "sort" at line 9195, column 60.  Behavior is undefined if called in scalar context.  (Severity: 5)
Expression form of "eval" at line 9846, column 10.  See page 161 of PBP.  (Severity: 5)
2023-05-12 15:17:40 +01:00
Marko Mäkelä
c9eff1a144 MDEV-31254 InnoDB: Trying to read doublewrite buffer page
buf_read_page_low(): Remove an error message and a debug assertion
that can be triggered when using innodb_page_size=4k and
innodb_file_per_table=0. In that case, buf_read_ahead_linear()
may be invoked on page 255, which is one less than the first
page of the doublewrite buffer (256).
2023-05-12 15:04:50 +03:00
Marko Mäkelä
477285c8ea MDEV-31253 Freed data pages are not always being scrubbed
fil_space_t::flush_freed(): Renamed from buf_flush_freed_pages();
this is a backport of aa45850687 from 10.6.
Invoke log_write_up_to() on last_freed_lsn, instead of avoiding
the operation when the log has not yet been written.
A more costly alternative would be that log_checkpoint() would invoke
this function on every affected tablespace.
2023-05-12 14:57:14 +03:00
Marko Mäkelä
c271057288 Merge 10.5 into 10.6 2023-05-11 13:27:01 +03:00
Marko Mäkelä
279d0120f5 MDEV-29967 innodb_read_ahead_threshold (linear read-ahead) does not work
buf_read_ahead_linear(): Correct some calculations that were broken
in commit b1ab211dee (MDEV-15053).

Thanks to Daniel Black for providing a test case and initial debugging.

Tested by: Matthias Leich
2023-05-11 13:21:57 +03:00
Marko Mäkelä
d4dd634529 MariaDB 10.5.20 release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEF39AEP5WyjM2MAMF8WVvJMdM0dgFAmRbiP0ACgkQ8WVvJMdM
 0di/XQ/8CrgzpJtgCuqXEy5YZgHfRYmgV3GV5IWfzdLDWiHYy6ySBLaXCDCJcIbz
 wjx2jFZcM8S3jzpxIDWYw7g2CWz9DRwYHNVIglsdVW3oM/nariskYqVH04B2Ipjo
 smUkohnh6cqh4ewgxiahuodUU6jv8sE4CgG859nLHFjui9cBL+NDvoOjsUJkftVT
 pbbgwseqdUIyp+3oTTVmw/dJ78DlM4DOgvoMTHUogCxAWkkXGLBgzYSvFEfYuInP
 N4uiKCeRonVXfZX4b9sqAnB49M2t7b2Oe+TKvl2c/eEBDyJTJaqVmFissRqNrCbh
 otytSfLgkIx80WK9gPtcttM6t36yV3pDFI2PkkoqKIil/eXMT112R7rtlzYPylmy
 /R2PdQBE+MuiMbHjcelWEGx5kxdyVRPicgK6KDEl4/zpNP4a6qqxgOfnlzVw/l1R
 62QQVvWg++IVDq1/XEd96+ipVNjdR0ahhBTf5nZDgRihbMCVKSdvQjETDZr2XW3y
 YobxdwQUoeIAIAqV8uVRWUYxA6bFkDuOOO8vK0CJZIl9U836KKSJltmtfpaNdM9K
 cA+AO/6HzkyaOqvuajyTYIA12vDdyVJPrA0zJn57JExVgpof0YBvck9F6nsIJTJR
 A1CZnt7LJ9v7ZxhPCL5w0LEyKxxNWuAS80Uxeb+jzxv5w8Ig64Y=
 =Bc/P
 -----END PGP SIGNATURE-----

Merge mariadb-10.5.20 into 10.5
2023-05-11 09:09:16 +03:00
Marko Mäkelä
7124911a2c MDEV-31158: Potential hang with ROW_FORMAT=COMPRESSED tables
btr_cur_need_opposite_intention(): Check also page_zip_available()
so that we will escalate to exclusive index latch when a non-leaf
page may have to be split further due to ROW_FORMAT=COMPRESSED page
overflow.

Tested by: Matthias Leich
2023-05-11 08:43:00 +03:00
Marko Mäkelä
38ed782f55 MDEV-30812 fixup: GCC 12.2.0 -Wmaybe-uninitialized
best_access_path(): Simplify the logic for computing fanout.
This fixes up commit 4329ec5d3b
2023-05-11 08:42:28 +03:00
Marko Mäkelä
522a52498c MariaDB 10.6.13 release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEF39AEP5WyjM2MAMF8WVvJMdM0dgFAmRbiR8ACgkQ8WVvJMdM
 0dhnrg/9FuuVtxaqlWqAkrtwrwlw3EVCavG96lXwVvgxAKhv6yIXbNgLPWGuAq6d
 AOnVnsIdcyc63zt/3NQ2ZFTLlKzeoIjExL3W/73Hiz2NT4a+/gbGkCRcz4nMUQG/
 H7B5FXnDdedJ/ZngOl/weBkUo4JGVCLxxFSbzzeLIIegbuyxOZ9pM8bZtDzrdS1C
 N0t2uxOogo+OAw89/nsqIEHLqwZbW1PlLJhhCV1lgYicwVRFo9sECd5yY97/SHhz
 YgoUn1rEniHi7J857kEYIpmtasu42QdgaDiq3zOSER9tGV0sjV56IBWuh6e2YKfM
 Ul93SVH9Y4m5WiMNQf5YbeFMfQGy2drxzQ+eYUkuEMS4iR93rbC4ULtU0Rhhv5Vg
 RSpjuaEITNj2w90S/k+YbjaCXaX0UDadStD4Bw1lFxMCeKDqx5gCsnodv05V3F/d
 YWkpuho/GCxS5CMOCow9KRrMnvFi3SdIyN8gQT8/bFKTo1jUB5kK3DZVi72mRFyF
 mWgVL9JIfZTDPpd0i6WReEIDWe/hHyFVbbNKbf0J4Nrz5kINNX+BEcY+1g7RBhVF
 /kA5GWaEAtgQKDbE/0nTh+iGo/5IMA1CDlkdi5PLHIUGV3dLgDp5Pv0ppxJ2Oq1p
 HX577HZoFOVkErRZBE92Hg9RMEf34gKn8GFK/usVWX5KkC6PDG0=
 =SOjM
 -----END PGP SIGNATURE-----

Merge mariadb-10.6.13 into 10.6
2023-05-11 08:41:23 +03:00
Daniel Bartholomew
afe44ef212
bump the VERSION 2023-05-10 08:45:08 -04:00
Daniel Bartholomew
0d8b0493ee
bump the VERSION 2023-05-10 08:43:49 -04:00
Tuukka Pasanen
2740b657ce MDEV-31216: Make sure that lsof does not fail on install
Command lsof can fail on Debian install.
Revert logic more like old one to make sure that there is no failing
and still does don't boundce on shellcheck.
2023-05-09 08:55:05 +10:00
Tuukka Pasanen
50cdf0b5ea MDEV-30952: Reformat Debian pre- and postscripts if-clauses
Debian install scripts if-clauses are not formatted
as they should be. This commit formats Debian
Pre and Post script if-clauses.
2023-05-08 16:52:27 +10:00
Tuukka Pasanen
8febdfa342 MDEV-30952: Fix shellcheck problems on Debian scripts
Commit fixes several ShellCheck found problems in Debian
Pre- and Postscripts.

Debian script mariadb-server-10.6.postrm contains shellcheck
Fixed problems are:
  https://www.shellcheck.net/wiki/SC2166 -- Prefer [ p ] && [ q ] as [ p -a q...
  https://www.shellcheck.net/wiki/SC2006 -- Use $(...) notation instead of le...
  https://www.shellcheck.net/wiki/SC1091 -- Not following: /usr/share/debconf...

Debian script mariadb-server-10.6.postinst contains shellcheck
Fixed problems are:
  https://www.shellcheck.net/wiki/SC2129 -- Consider using { cmd1; cmd2; } >>...
  https://www.shellcheck.net/wiki/SC1091 -- Not following: /usr/share/debconf...
  https://www.shellcheck.net/wiki/SC1072 -- Expected test to end here (don't ...
  https://www.shellcheck.net/wiki/SC1073 -- Couldn't parse this test expressi...
  https://www.shellcheck.net/wiki/SC1009 -- The mentioned syntax error was in...

Debian script mariadb-server-10.6.preinst contains shellcheck
Fixed problems are:
  https://www.shellcheck.net/wiki/SC2231 -- Quote expansions in this for loop...
  https://www.shellcheck.net/wiki/SC2166 -- Prefer [ p ] && [ q ] as [ p -a q...
  https://www.shellcheck.net/wiki/SC2001 -- See if you can use ${variable//se...
  https://www.shellcheck.net/wiki/SC1091 -- Not following: /usr/share/debconf...
  https://www.shellcheck.net/wiki/SC1007 -- Remove space after = if trying to...
2023-05-08 16:52:27 +10:00
Tuukka Pasanen
7cbb45d1d4 MDEV-30952: Reformat Debian post and pre scripts
There is several misindentation inside Debian post and pre
installation scripts. False indentation with space
as indent space should be 2 and indentation with tabs.
2023-05-08 16:52:27 +10:00
Sergei Petrunia
a24f2bb50b MDEV-31199: Assertion `field->table->stats_is_read' fails with hash_join_cardinality=on
Derived table creation code would call Field::make_new_field() which would
memcpy the Field object from the source table, including Field::read_stats.

But the temp. table as a whole had table->stats_is_read=false. Which was
correct but not consistent with Field::read_stats and caused an assertion.

Fixed by making sure that Field::read_stats=NULL for fields in the new
temporary (i.e. work) tables.
2023-05-05 13:55:42 +03:00
Oleksandr Byelkin
1c39479598 Merge branch '10.5' into 10.6 2023-05-05 11:09:46 +02:00
Oleksandr Byelkin
b735ca4773 Merge branch '10.4' into 10.5 2023-05-05 10:50:02 +02:00
Sergei Petrunia
2594da7a33 MDEV-31194: Server crash or assertion failure with join_cache_level=4
The problem, introduced in patch for MDEV-26301:

When check_join_cache_usage() decides not to use join buffer, it must
adjust the access method accordingly. For BNL-H joins this means switching
from pseudo-"ref access"(with index=MAX_KEY) to some other access method.

Failing to do this will cause assertions down the line when code that is
not aware of BNL-H will try to initialize index use for ref access with
index=MAX_KEY.

The fix is to follow the regular code path to disable the join buffer for
the join_tab ("goto no_join_cache") instead of just returning from
check_join_cache_usage().
2023-05-05 11:16:23 +03:00
Oleksandr Byelkin
db3342b325 Merge branch '10.5' into 10.6 2023-05-04 18:47:11 +02:00
Oleksandr Byelkin
ba0433dc1c Merge branch '10.4' into 10.5 2023-05-04 18:19:47 +02:00
Oleksandr Byelkin
7973ffde0f MDEV-31189 Server crash or assertion failure in upon 2nd execution of PS with views and HAVING
Do not try to decide merge/materialize for derived if it was already decided
(even if it is a view).
2023-05-04 17:51:27 +02:00
Sergei Golubchik
cf4a16b555 MDEV-31057 rocksdb does not compile with gcc-13
RocksDB (in a submodule) has to include <cstdint> to use uint64_t
but it doesn't. Until the submodule is upgraded, let's replace
problematic types with something that's available
2023-05-04 16:07:44 +02:00
Sergei Golubchik
4d6e458f9f MDEV-31164 default current_timestamp() not working when used INSERT ON DUPLICATE KEY in some cases
select_insert::store_values() must reset
has_value_set bitmap before every row, just like mysql_insert() does.
because ON DUPLICATE KEY UPDATE and triggers modify it
2023-05-04 16:07:39 +02:00
Oleksandr Byelkin
5dc0f3dafa Merge branch '10.5' into 10.6 2023-05-04 11:26:45 +02:00
Oleksandr Byelkin
749c512911 Merge branch '10.4' into 10.5 2023-05-04 11:23:37 +02:00
Oleksandr Byelkin
f5e7c56e32 MDEV-31181 Server crash in subselect_uniquesubquery_engine::print upon EXPLAIN EXTENDED DELETE
Temporary fix to avoid the server crash.
2023-05-04 11:20:35 +02:00
Oleksandr Byelkin
62ec258f10 Fix of selectivity test to behave correctly with embedded and view protocols. 2023-05-04 11:20:35 +02:00
Oleksandr Byelkin
652d54bf00 Merge branch '10.5' into 10.6 2023-05-04 07:36:37 +02:00
Oleksandr Byelkin
e87440b79e Merge branch '10.4' into 10.5 2023-05-03 15:53:14 +02:00
Sergei Petrunia
ed3e6f66a2 MDEV-26301: Split optimization refills: Optimizer Trace coverage
Add Optimizer Trace printouts.
2023-05-03 14:11:25 +02:00
Igor Babaev
ce7ffe61d8 MDEV-26301 Split optimization refills temporary table too many times
This patch optimizes the number of refills for the lateral derived table
to which a materialized derived table subject to split optimization is
is converted. This optimized number of refills is now considered as the
expected number of refills of the materialized derived table when searching
for the best possible splitting of the table.
2023-05-03 14:11:11 +02:00
Oleksandr Byelkin
043d69bbcc Merge branch '10.5' into 10.6 2023-05-03 09:51:25 +02:00
Oleksandr Byelkin
69932b6e68 Merge branch '10.4' into 10.5 2023-05-03 09:46:49 +02:00
Andrei
ec79f37718 MDEV-29621 part 2 of post-merge fixes in galera
(part 1 is in the previous commit)
to [ pass ] galera.MDEV-18832, galera.MDEV-27862
2023-05-03 10:32:29 +03:00
Oleksandr Byelkin
430b972702 Protect a new condition (by Andrei) 2023-05-03 07:45:15 +02:00
Oleksandr Byelkin
8c793eaaf4 Fix test after merge (by Thiru) 2023-05-03 07:30:12 +02:00
Oleksandr Byelkin
46ebddba61 Merge branch '10.4' into 10.5 2023-05-02 20:16:14 +02:00
Oleksandr Byelkin
5597562aa6 Merge branch '10.3' into 10.4 2023-05-02 20:14:47 +02:00
Oleksandr Byelkin
ca001cf204 New CC 3.1 2023-05-02 20:13:48 +02:00
Oleksandr Byelkin
10e135b679 Merge branch 'bb-10.4-release' into bb-10.5-release 2023-05-02 15:47:10 +02:00
Oleksandr Byelkin
1d15300b30 Merge branch '10.4' into bb-10.4-release 2023-05-02 15:45:35 +02:00
Andrei
495f1ecac2 MDEV-29621 manual merge from 10.4 -> 10.5
1. log_event.cc stuff should go into log_event_server.cc
2. the test's wait condition is textually different in 10.5, fixed.
3. pre-exec 'optimistic' global var value is correct for 10.5 indeed.
2023-05-02 15:52:36 +03:00
Oleksandr Byelkin
edf8ce5b97 Merge branch 'bb-10.4-release' into bb-10.5-release 2023-05-02 13:54:54 +02:00
Julius Goryavsky
c6ef9b1c1a wsrep-lib external submodule update 2023-05-02 11:20:35 +02:00