maria:bb-10.2-MDEV-23925

Last commit made on 2020-10-09
Get this branch:
git clone -b bb-10.2-MDEV-23925 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.2-MDEV-23925
Repository:
lp:maria

Recent commits

5e71a3e... by Dmitry Shulga <email address hidden>

MDEV-23925: Fix warnings generated during compilation of mysys_ssl/openssl.c on MacOS

Compiler warnings listed below are generated during server build on MacOS:
In file included from server-10.2-MDEV-23564/mysys_ssl/openssl.c:33:
In file included from /usr/local/include/openssl/evp.h:16:
In file included from /usr/local/include/openssl/bio.h:20:
/usr/local/include/openssl/crypto.h:206:10: warning: 'CRYPTO_cleanup_all_ex_data' macro redefined [-Wmacro-redefined]
         ^
/mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:46:9: note: previous definition is here
        ^
In file included from /mariadb/server-10.2-MDEV-23564/mysys_ssl/openssl.c:33:
/usr/local/include/openssl/evp.h:501:10: warning: 'EVP_MD_CTX_init' macro redefined [-Wmacro-redefined]
         ^
/mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:33:9: note: previous definition is here
        ^
In file included from /mariadb/server-10.2-MDEV-23564/mysys_ssl/openssl.c:33:
/usr/local/include/openssl/evp.h:627:11: warning: 'EVP_CIPHER_CTX_init' macro redefined [-Wmacro-redefined]
          ^
/mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:35:9: note: previous definition is here
        ^
In file included from /mariadb/server-10.2-MDEV-23564/mysys_ssl/openssl.c:33:
/usr/local/include/openssl/evp.h:866:11: warning: 'EVP_cleanup' macro redefined [-Wmacro-redefined]
          ^
/mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:44:9: note: previous definition is here
        ^
4 warnings generated.

In case MariaDB serer is build with -DCMAKE_BUILD_TYPE=Debug it results in
build error.

The reason of compiler warnings is that header file <ssl_compat.h>
included before the openssl system header files. File ssl_compat.h
contains some macros with the name as SSL API functions declared
in the openssl system header files. It resulted in duplicate
symbols thats produces compiler warnings.

To fix the issue the header file ssl_compat.h should be included
after a line where openssl system header is included.

8984d77... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-21329 InnoDB: Failing assertion: lock->lock_word.load(std::memory_order_relaxed) == X_LOCK_DECR upon server shutdown

Problem is that dropping of fts table and sync of fts table
happens concurrently during fts optimize thread shutdown.
fts_optimize_remove_table() is executed by a user thread that
performs DDL, and that the fts_optimize_wq may be removed if
fts_optimize_shutdown() has started executing.

fts_optimize_remove_table() doesn't remove the table from the queue
and it leads to above scenario. While removing the table from
fts_optimize_wq, if the table can't be removed then wait till
fts_optimize_thread shuts down.

Reviewed-by: Marko Mäkelä

b18921c... by Sergei Golubchik

Merge tag 'mariadb-10.2.34' into 10.2

4aec143... by Daniel Bartholomew <email address hidden>

bump the VERSION

291be49... by Igor Babaev

MDEV-23811: With large number of indexes optimizer chooses an inefficient plan

This bug could manifest itself for a query with WHERE condition containing
top level OR formula such that each conjunct contained a single-range
condition supported by the same index. One of these range conditions must
be fully covered by another range condition that is used later in the OR
formula. Additionally at least one of these condition should be ANDed with
a sargable range condition supported by a different index.

There were several attempts to fix related problems for OR conditions after
the backport of range optimizer code from MySQL (commit
0e19f3e36f7842583feb6bead2c2600cd620bced). Unfortunately the first of these
fixes contained typo remained unnoticed until recently. This typo bug led
to rejection of valid range accesses. This patch fixed this typo bug.
The fix revealed another two bugs: one in a constructor for SEL_ARG,
the other in the function tree_or(). Both are fixed in this patch.

1595189... by Marko Mäkelä

MDEV-23897 SIGSEGV on commit with innodb_lock_schedule_algorithm=VATS

This regression for debug builds was introduced by
MDEV-23101 (commit 224c950462a22e09f4e2e37d19218c9129bccba6).

Due to MDEV-16664, the parameter
innodb_lock_schedule_algorithm=VATS
is not enabled by default.

The purpose of the added assertions was to enforce the invariant that
Galera replication cannot be enabled together with VATS due to MDEV-12837.
However, upon closer inspection, it is obvious that the variable 'lock'
may be assigned to the null pointer if no match is found in the
previous->hash list.

lock_grant_and_move_on_page(), lock_grant_and_move_on_rec():
Assert !lock->trx->is_wsrep() only after ensuring that lock
is not a null pointer.

2b83215... by midenok

MDEV-23787 mtr --rr fixes

1. rr record -h randomizes number of processors. Disable THREAD_POOL_SIZE check.

2. check for kernel.perf_event_paranoid for user-friendly error message.

5933081... by Oleksandr "Sanja" Byelkin

MDEV-18163 Assertion `table_share->tmp_table != NO_TMP_TABLE || m_lock_type != 2' failed in handler::ha_rnd_next(); / Assertion `table_list->table' failed in find_field_in_table_ref / ERROR 1901 (on optimized builds)

Add the same check for altering DEFAULT used as for CREATE TABLE.

b3a9fbd... by Daniel Black

travis: 10.2 only - make faster

Remove from debian build:
* tokudb
* mroonga
* spider
* ograph
* embedded server

Add ccache to debian build.

Backport 10.3 changes to autobake-deb
that make travis faster.

Merge instructions:
Drop this commit on merge to 10.3

350c9eb... by Eugene

MDEV-23894 UBSAN: several call to function show_binlog_vars(THD*, st_mysql_show_var*, char*) through pointer to incorrect function type 'int (*)(THD *, st_mysql_show_var *, void *, system_status_var *, enum_var_type) errors