1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-07-28 20:02:00 +03:00

Refactored client_service interface out of client_context

This commit is contained in:
Teemu Ollakka
2018-06-14 19:44:38 +03:00
parent 1ca3f7b649
commit 256000f934
12 changed files with 391 additions and 265 deletions

View File

@ -58,7 +58,7 @@ int wsrep::client_context::before_command()
wsrep::server_context::rm_async);
override_error(wsrep::e_deadlock_error);
lock.unlock();
rollback();
client_service_.rollback(*this);
(void)transaction_.after_statement();
lock.lock();
assert(transaction_.state() ==
@ -96,7 +96,7 @@ void wsrep::client_context::after_command_before_result()
{
override_error(wsrep::e_deadlock_error);
lock.unlock();
rollback();
client_service_.rollback(*this);
(void)transaction_.after_statement();
lock.lock();
assert(transaction_.state() == wsrep::transaction_context::s_aborted);
@ -116,7 +116,7 @@ void wsrep::client_context::after_command_after_result()
transaction_.state() == wsrep::transaction_context::s_must_abort)
{
lock.unlock();
rollback();
client_service_.rollback(*this);
lock.lock();
assert(transaction_.state() == wsrep::transaction_context::s_aborted);
override_error(wsrep::e_deadlock_error);
@ -170,7 +170,7 @@ wsrep::client_context::after_statement()
(void)transaction_.after_statement();
if (current_error() == wsrep::e_deadlock_error)
{
if (is_autocommit())
if (client_service_.is_autocommit())
{
debug_log_state("after_statement: may_retry");
return asr_may_retry;

View File

@ -160,7 +160,7 @@ int wsrep::transaction_context::before_prepare(
case wsrep::client_context::m_replicating:
if (is_streaming())
{
client_context_.debug_suicide(
client_context_.debug_crash(
"crash_last_fragment_commit_before_fragment_removal");
lock.unlock();
if (client_context_.server_context().statement_allowed_for_streaming(
@ -171,10 +171,10 @@ int wsrep::transaction_context::before_prepare(
}
else
{
client_context_.remove_fragments(*this);
client_context_.remove_fragments();
}
lock.lock();
client_context_.debug_suicide(
client_context_.debug_crash(
"crash_last_fragment_commit_after_fragment_removal");
}
break;
@ -182,7 +182,7 @@ int wsrep::transaction_context::before_prepare(
case wsrep::client_context::m_applier:
if (is_streaming())
{
client_context_.remove_fragments(*this);
client_context_.remove_fragments();
}
break;
default:
@ -522,7 +522,7 @@ int wsrep::transaction_context::after_statement()
ret = 1;
break;
default:
client_context_.abort();
client_context_.emergency_shutdown();
break;
}
lock.lock();
@ -811,7 +811,7 @@ int wsrep::transaction_context::certify_commit(
return 1;
}
if (client_context_.killed())
if (client_context_.interrupted())
{
lock.lock();
client_context_.override_error(wsrep::e_interrupted_error);
@ -901,7 +901,7 @@ int wsrep::transaction_context::certify_commit(
case wsrep::provider::error_fatal:
client_context_.override_error(wsrep::e_error_during_commit);
state(lock, s_must_abort);
client_context_.abort();
client_context_.emergency_shutdown();
break;
case wsrep::provider::error_not_implemented:
case wsrep::provider::error_not_allowed: