1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-07-03 16:22:35 +03:00

Fixes for XA transactions with streaming enabled

Changes mostly related to handling of XA PREPARE fragments
This commit is contained in:
Leandro Pacheco
2019-02-11 11:38:17 +01:00
committed by Daniele Sciascia
parent 54b0eeee45
commit 36346beab4
12 changed files with 66 additions and 6 deletions

View File

@ -359,7 +359,7 @@ static int apply_write_set(wsrep::server_state& server_state,
ws_meta,
data);
}
else if (ws_meta.flags() == 0)
else if (ws_meta.flags() == 0 || wsrep::prepares_transaction(ws_meta.flags()))
{
wsrep::high_priority_service* sa(
server_state.find_streaming_applier(
@ -380,8 +380,8 @@ static int apply_write_set(wsrep::server_state& server_state,
}
else
{
ret = apply_fragment(server_state,
high_priority_service,
sa->next_fragment(ws_meta);
ret = apply_fragment(high_priority_service,
sa,
ws_handle,
ws_meta,
@ -421,6 +421,7 @@ static int apply_write_set(wsrep::server_state& server_state,
else
{
// Commit fragment consumes sa
sa->next_fragment(ws_meta);
ret = commit_fragment(server_state,
high_priority_service,
sa,