From b054c7320c3bf924bf64cf8ba14ffa2f98094f75 Mon Sep 17 00:00:00 2001 From: Teemu Ollakka Date: Mon, 16 Jul 2018 16:50:49 +0300 Subject: [PATCH] Assert that fragmen seqno is not undefined. Added debug crash points. --- include/wsrep/streaming_context.hpp | 2 ++ src/transaction.cpp | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/include/wsrep/streaming_context.hpp b/include/wsrep/streaming_context.hpp index a5dbadd..f75a37c 100644 --- a/include/wsrep/streaming_context.hpp +++ b/include/wsrep/streaming_context.hpp @@ -65,6 +65,7 @@ namespace wsrep void stored(wsrep::seqno seqno) { + assert(seqno.is_undefined() == false); fragments_.push_back(seqno); } @@ -75,6 +76,7 @@ namespace wsrep void applied(wsrep::seqno seqno) { + assert(seqno.is_undefined() == false); ++fragments_certified_; fragments_.push_back(seqno); } diff --git a/src/transaction.cpp b/src/transaction.cpp index 9b1c262..af68192 100644 --- a/src/transaction.cpp +++ b/src/transaction.cpp @@ -1029,12 +1029,16 @@ int wsrep::transaction::certify_fragment( return 1; } + client_service_.debug_crash( + "crash_replicate_fragment_before_certify"); wsrep::ws_meta sr_ws_meta; enum wsrep::provider::status cert_ret(provider().certify(client_state_.id(), ws_handle_, flags(), sr_ws_meta)); + client_service_.debug_crash( + "crash_replicate_fragment_after_certify"); switch (cert_ret) { case wsrep::provider::success: @@ -1055,6 +1059,8 @@ int wsrep::transaction::certify_fragment( { streaming_context_.stored(sr_ws_meta.seqno()); } + client_service_.debug_crash( + "crash_replicate_fragment_success"); break; default: // Storage service rollback must be done out of order,