mirror of
https://github.com/codership/wsrep-lib.git
synced 2025-07-28 20:02:00 +03:00
Pass certification keys also for NBO end.
Certification keys are needed for NBO end to resolve dependencies for the write sets which follow NBO end. Without keys the following write sets do not detect dependency to NBO event and may start applying too early.
This commit is contained in:
@ -788,8 +788,10 @@ namespace wsrep
|
||||
* Begin non-blocking operation phase two. The keys argument
|
||||
* passed to this call must contain the same keys which were
|
||||
* passed to begin_nbo_phase_one().
|
||||
*
|
||||
* @param keys Key array.
|
||||
*/
|
||||
int begin_nbo_phase_two();
|
||||
int begin_nbo_phase_two(const wsrep::key_array& keys);
|
||||
|
||||
/**
|
||||
* End non-blocking operation phase two. This call will
|
||||
@ -998,6 +1000,7 @@ namespace wsrep
|
||||
wsrep::unique_lock<wsrep::mutex>& lock);
|
||||
void update_last_written_gtid(const wsrep::gtid&);
|
||||
void debug_log_state(const char*) const;
|
||||
void debug_log_keys(const wsrep::key_array& keys) const;
|
||||
void state(wsrep::unique_lock<wsrep::mutex>& lock, enum state state);
|
||||
void mode(wsrep::unique_lock<wsrep::mutex>& lock, enum mode mode);
|
||||
|
||||
|
@ -27,6 +27,10 @@
|
||||
|
||||
namespace wsrep
|
||||
{
|
||||
/** @class key
|
||||
*
|
||||
* Certification key type.
|
||||
*/
|
||||
class key
|
||||
{
|
||||
public:
|
||||
@ -44,6 +48,14 @@ namespace wsrep
|
||||
, key_parts_len_()
|
||||
{ }
|
||||
|
||||
/**
|
||||
* Append key part to key.
|
||||
*
|
||||
* @param ptr Pointer to key part data. The caller is supposed to take
|
||||
* care that the pointer remains valid over the lifetime
|
||||
* if the key object.
|
||||
* @param len Length of the key part data.
|
||||
*/
|
||||
void append_key_part(const void* ptr, size_t len)
|
||||
{
|
||||
if (key_parts_len_ == 3)
|
||||
|
@ -251,7 +251,7 @@ namespace wsrep
|
||||
void clear_fragments();
|
||||
void cleanup();
|
||||
void debug_log_state(const char*) const;
|
||||
void debug_log_key_append(const wsrep::key& key);
|
||||
void debug_log_key_append(const wsrep::key& key) const;
|
||||
|
||||
wsrep::server_service& server_service_;
|
||||
wsrep::client_service& client_service_;
|
||||
|
Reference in New Issue
Block a user