mirror of
https://github.com/codership/wsrep-lib.git
synced 2025-07-30 07:23:07 +03:00
Assert that fragmen seqno is not undefined. Added debug crash points.
This commit is contained in:
@ -65,6 +65,7 @@ namespace wsrep
|
|||||||
|
|
||||||
void stored(wsrep::seqno seqno)
|
void stored(wsrep::seqno seqno)
|
||||||
{
|
{
|
||||||
|
assert(seqno.is_undefined() == false);
|
||||||
fragments_.push_back(seqno);
|
fragments_.push_back(seqno);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,6 +76,7 @@ namespace wsrep
|
|||||||
|
|
||||||
void applied(wsrep::seqno seqno)
|
void applied(wsrep::seqno seqno)
|
||||||
{
|
{
|
||||||
|
assert(seqno.is_undefined() == false);
|
||||||
++fragments_certified_;
|
++fragments_certified_;
|
||||||
fragments_.push_back(seqno);
|
fragments_.push_back(seqno);
|
||||||
}
|
}
|
||||||
|
@ -1029,12 +1029,16 @@ int wsrep::transaction::certify_fragment(
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
client_service_.debug_crash(
|
||||||
|
"crash_replicate_fragment_before_certify");
|
||||||
wsrep::ws_meta sr_ws_meta;
|
wsrep::ws_meta sr_ws_meta;
|
||||||
enum wsrep::provider::status
|
enum wsrep::provider::status
|
||||||
cert_ret(provider().certify(client_state_.id(),
|
cert_ret(provider().certify(client_state_.id(),
|
||||||
ws_handle_,
|
ws_handle_,
|
||||||
flags(),
|
flags(),
|
||||||
sr_ws_meta));
|
sr_ws_meta));
|
||||||
|
client_service_.debug_crash(
|
||||||
|
"crash_replicate_fragment_after_certify");
|
||||||
switch (cert_ret)
|
switch (cert_ret)
|
||||||
{
|
{
|
||||||
case wsrep::provider::success:
|
case wsrep::provider::success:
|
||||||
@ -1055,6 +1059,8 @@ int wsrep::transaction::certify_fragment(
|
|||||||
{
|
{
|
||||||
streaming_context_.stored(sr_ws_meta.seqno());
|
streaming_context_.stored(sr_ws_meta.seqno());
|
||||||
}
|
}
|
||||||
|
client_service_.debug_crash(
|
||||||
|
"crash_replicate_fragment_success");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// Storage service rollback must be done out of order,
|
// Storage service rollback must be done out of order,
|
||||||
|
Reference in New Issue
Block a user