mirror of
https://github.com/codership/wsrep-lib.git
synced 2025-07-21 12:22:06 +03:00
Initial RSU implementation.
This commit is contained in:
@ -81,10 +81,12 @@ namespace wsrep
|
||||
/** High priority mode */
|
||||
m_high_priority,
|
||||
/** Client is in total order isolation mode */
|
||||
m_toi
|
||||
m_toi,
|
||||
/** Client is executing rolling schema upgrade */
|
||||
m_rsu
|
||||
};
|
||||
|
||||
static const int mode_max_ = m_toi + 1;
|
||||
static const int n_modes_ = m_rsu + 1;
|
||||
/**
|
||||
* Client state enumeration.
|
||||
*
|
||||
@ -443,6 +445,19 @@ namespace wsrep
|
||||
*/
|
||||
int leave_toi();
|
||||
|
||||
/**
|
||||
* Begin rolling schema upgrade operation.
|
||||
*
|
||||
* @param timeout Timeout in seconds to wait for committing
|
||||
* connections to finish.
|
||||
*/
|
||||
int begin_rsu(int timeout);
|
||||
|
||||
/**
|
||||
* End rolling schema upgrade operation.
|
||||
*/
|
||||
int end_rsu();
|
||||
|
||||
/**
|
||||
* Begin non-blocking operation.
|
||||
*/
|
||||
@ -691,6 +706,7 @@ namespace wsrep
|
||||
case wsrep::client_state::m_replicating: return "replicating";
|
||||
case wsrep::client_state::m_high_priority: return "high priority";
|
||||
case wsrep::client_state::m_toi: return "toi";
|
||||
case wsrep::client_state::m_rsu: return "rsu";
|
||||
}
|
||||
return "unknown";
|
||||
}
|
||||
|
@ -125,6 +125,15 @@ namespace wsrep
|
||||
const wsrep::gtid& gtid,
|
||||
bool bypass) = 0;
|
||||
|
||||
|
||||
/**
|
||||
* Wait until committing transactions have completed.
|
||||
* Prior calling this method the server should have been
|
||||
* desynced from the group to disallow further transactions
|
||||
* to start committing.
|
||||
*/
|
||||
virtual int wait_committing_transactions(int timeout) = 0;
|
||||
|
||||
/**
|
||||
* Provide a server level debug sync point for a caller.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user