1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

MDEV-21117 post-push fixes

1. work around MDEV-25912 to not apply assert
   at wsrep running time;
2. handle wsrep mode of the server recovery
3. convert hton calls to static binlog_commit ones.
4. satisfy MSAN complain on uninitialized std::pair
This commit is contained in:
Andrei Elkin
2021-06-14 19:22:29 +03:00
parent e41522d6bf
commit 79a2dbc879
6 changed files with 22 additions and 14 deletions

View File

@ -2401,16 +2401,16 @@ struct xarecover_st
static xid_recovery_member*
xid_member_insert(HASH *hash_arg, my_xid xid_arg, MEM_ROOT *ptr_mem_root)
{
xid_recovery_member *member= (xid_recovery_member*)
xid_recovery_member *member= (xid_recovery_member *)
alloc_root(ptr_mem_root, sizeof(xid_recovery_member));
if (!member)
return NULL;
member->xid= xid_arg;
member->in_engine_prepare= 1;
member->decided_to_commit= false;
*member= xid_recovery_member(xid_arg, 1, false);
return my_hash_insert(hash_arg, (uchar*) member) ? NULL : member;
return
my_hash_insert(hash_arg, (uchar*) member) ? NULL : member;
}
/*
@ -2636,13 +2636,11 @@ static my_bool xarecover_handlerton(THD *unused, plugin_ref plugin,
sql_print_error("Error in memory allocation at xarecover_handlerton");
break;
}
} else
}
if (IF_WSREP((wsrep_emulate_bin_log &&
wsrep_is_wsrep_xid(info->list + i) &&
x <= wsrep_limit), false) ||
(info->commit_list ?
my_hash_search(info->commit_list, (uchar *)&x, sizeof(x)) != 0 :
tc_heuristic_recover == TC_HEURISTIC_RECOVER_COMMIT))
tc_heuristic_recover == TC_HEURISTIC_RECOVER_COMMIT)
{
int rc= hton->commit_by_xid(hton, info->list+i);
if (rc == 0)
@ -2653,7 +2651,8 @@ static my_bool xarecover_handlerton(THD *unused, plugin_ref plugin,
});
}
}
else
else if (WSREP_ON ||
tc_heuristic_recover == TC_HEURISTIC_RECOVER_ROLLBACK)
{
int rc= hton->rollback_by_xid(hton, info->list+i);
if (rc == 0)