maria:10.5-MDEV-22554

Last commit made on 2020-05-15
Get this branch:
git clone -b 10.5-MDEV-22554 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
10.5-MDEV-22554
Repository:
lp:maria

Recent commits

08f3ca8... by Julius Goryavsky <email address hidden>

MDEV-22554: galera_sst_mariabackup fails with "Failed to start mysqld.2"

The problem is caused by the operation of netcat streamer and does
not appear on systems where socat is installed. We need to add the
"-N" option for netcat to call shutdown() on the socket when receiving
EOF from STDIN.

69077de... by Vladislav Vaintroub

MDEV-22578 thread_pool_info crashes with clang6, using SSE instructions on unaligned memory

Apparently, in stats_reset_table(), the innocuous

  memset(&group->counters, 0, sizeof(group->counters));

is converted by clang to SSE2 instructions.

The problem is that "group" is not correctly aligned,
despite MY_ALIGNED(CPU_LEVEL1_DCACHE_LINESIZE) in the thread_group_t
declaration.

It is not aligned because it was allocated with my_malloc, since
commit fd9f1638, MDEV-5205. Previously all_groups was a
statically allocated array.

Fix is to remove MY_ALIGNED, and pad the struct instead.

f2a9445... by midenok

Merge 10.4 into 10.5

a4996f9... by midenok

MDEV-22563 Segfault on duplicate free of Item_func_in::array

Same array instance in two Item_func_in instances. First Item_func_in
instance is freed on table close. Second one is freed on
cleanup_after_query().

get_copy() depends on copy ctor for copying an item and hence does
shallow copy for default copy ctor. Use build_clone() for deep copy of
Item_func_in.

72789e4... by Monty <email address hidden>

Fixed access to not initalized memory

Most of the volations came from:
sel_arg_range_seq_next(void*, st_key_multi_range*) (opt_range_mrr.cc:342)

523d67a... by Jan Lindström

MDEV-22494 : Galera assertion lock_sys.mutex.is_owned() at lock_trx_handle_wait_low

Problem was that trx->lock.was_chosen_as_wsrep_victim variable was
not set back to false after it was set true.

wsrep_thd_bf_abort
 Add assertions for correct mutex status and take necessary
 mutexes before calling thd->awake_no_mutex().

innobase_rollback_trx()
 Reset trx->lock.was_chosen_as_wsrep_victim

wsrep_abort_slave_trx()
 Removed unused function.

wsrep_innobase_kill_one_trx()
 Added function comment, removed unnecessary parameters
 and added debug assertions to enforce correct usage. Added
 more debug output to help out on error analysis.

wsrep_abort_transaction()
 Added debug assertions and removed unused variables.

trx0trx.h
 Removed assert_trx_is_free macro and replaced it with
 assert_freed() member function.

trx_create()
 Use above assert_free() and initialize wsrep variables.

trx_free()
 Use assert_free()

trx_t::commit_in_memory()
 Reset lock.was_chosen_as_wsrep_victim

trx_rollback_for_mysql()
 Reset trx->lock.was_chosen_as_wsrep_victim

Add test case galera_bf_kill

3bfe305... by Vladislav Vaintroub

MDEV-22555 Windows, packaging: binaries depend on vcruntime140_1.dll, which is not in MSI

When server is compiled with recent VS2019, then executables,
have dependency on vcruntime140_1.dll

While we include the VC redistributable merge modules into our MSI package,
those merge modules were stale (taken from older VS version, 2017)

Since VS2019 brough new DLL dependency by introducing new exception handling
https://devblogs.microsoft.com/cppblog/making-cpp-exception-handling-smaller-x64
thus the old MSMs were not enough.

The fix is to change logic in win/packaging/CMakeLists.txt to look up for
the correct, new MSMs.

The bug only affects 10.4,as we compile with static CRT before 10.4,
and partly-statically(just vcruntime stub is statically linked, but not UCRT)
after 10.4

For the fix to work, it required also some changes on the build machine
(vs_installer, modify VS2019 installation, add Individual Component
"C++ 2019 Redistributable MSMs")

3b251e2... by Sergei Golubchik

Revert "Added --titlebar option to enable/disable the titlebar"

This reverts commit c675886dcdecd29571bd08605a409325ee81004c.

The bug was introduced in e3f5789ac0b and fixed in 1af74d523a7

The option was introduced between those two commits and now it's
redundant again.

b30a013... by Marko Mäkelä

Merge 10.4 into 10.5

38f6c47... by Marko Mäkelä

Merge 10.3 into 10.4