From 63346153ac46ad5d52f9d16b4c1a6a203bf160db Mon Sep 17 00:00:00 2001 From: Daniele Sciascia Date: Fri, 28 Jan 2022 12:23:14 +0100 Subject: [PATCH] Fixup error handling on fragment removal If fragment removal fails when applying rollback fragment, then rollback the fragment removal context. --- src/server_state.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/server_state.cpp b/src/server_state.cpp index 79a720b..f07de3d 100644 --- a/src/server_state.cpp +++ b/src/server_state.cpp @@ -251,7 +251,11 @@ static int rollback_fragment(wsrep::server_state& server_state, { ret = high_priority_service.remove_fragments(ws_meta); ret = ret || high_priority_service.commit(ws_handle, ws_meta); - ret = ret || (high_priority_service.after_apply(), 0); + if (ret) + { + high_priority_service.rollback(ws_handle, ws_meta); + } + high_priority_service.after_apply(); } else {