1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-07-31 18:24:25 +03:00
Commit Graph

165 Commits

Author SHA1 Message Date
0851970c53 Bootstrap server service, fixes to server state management
* Added bootstrap service call to do DBMS side bootstrap operations
  during the cluster bootstrap.
* Added last_committed_gtid() to provider interface
* Implemented wait_for_gtid() provider call
* Pass initial position to the server state
2018-06-29 11:54:33 +03:00
a4f5997045 Client state history, fixed races in server state, logging improv 2018-06-28 11:56:28 +03:00
fd9cf87141 * Return provider status from provider connect
* Call to get server status variables along with provider variables
* Deal with intermediate non-prims
2018-06-27 15:36:52 +03:00
d659c6bebd Allow negative seqnos 2018-06-27 12:02:38 +03:00
b1a374a9ba Fixed pause/desync logic. Allow concurrent callers to desync,
this should be dealt with the provider. However, only one
thread is allowed to call pause at the time to keep track
of implicit desyncs when pausing the provider.
2018-06-26 13:42:42 +03:00
2a53198f5c Protocol version and connected gtid
* Propagate server max protocol version to provider init options
* Store gtid from connected call to make cluster id and the connect
  position available
2018-06-26 11:34:05 +03:00
ccf5c08c35 * Removed client_context from server_service::log_view() params
* Call log_view() from server_state view handler
2018-06-26 08:04:05 +03:00
4e152ee79d * Added applier side TOI commit order enter and leave
* Added cleanup_transaction() method to client_service in order to
  provide a way to make DBMS side cleanup when transaction
  is cleaned up
2018-06-25 14:09:19 +03:00
cad9176474 TOI replicating and applying codepaths 2018-06-25 09:28:51 +03:00
d3821d88a5 Partial implementation of methods needed for SST.
* server_state desync()/resync() and pause()/resume()
* Fixes to server_state state machine
2018-06-24 14:35:47 +03:00
1f6a6db1e9 * Fixes to SST time server state management
* Logging tweaks
* Boolean to tune behavior on exception
2018-06-22 13:03:12 +03:00
8f0e112c47 Renamed invalid to undefined. More utility functions. 2018-06-21 16:50:44 +03:00
81ac78913a Initial implementation of client_state TOI mode. 2018-06-21 11:45:18 +03:00
3a8861b26b * Moved causal reads/gtid wait into server state interface
* Changed undefined seqno to be defined as -1
2018-06-21 10:37:55 +03:00
ef0fb72b73 * Added size exceeded error code
* Return provider status from selected client_state calls
* Added more methods to provider interface
2018-06-20 19:44:20 +03:00
bf7dad6815 Added open(), close(), cleanup() methods to client_state.
Depending on the DBMS client session allocation strategy the
client id may or may not be available when the client_session
is constructed, therefore there should be a method to assign
an id after construction. Close/cleanup methods were added to
clean up open transactions appropriately.
2018-06-20 10:07:55 +03:00
779f84e5df Made client_service, transaction independent of provider.
Provider may not be loaded when client_service and
transaction are constructed.
2018-06-19 14:54:58 +03:00
94f77eacf0 Include id.hpp, transaction_id.hpp explicitly from server_state.hpp
Both id and transaction_id are required to instantiate the
server_state object.
2018-06-19 12:49:55 +03:00
5c3c972947 Provide access to native wsrep API handle. 2018-06-19 09:41:04 +03:00
0e4c7f16a9 Pass ws_handle as const reference to provider replay() 2018-06-19 09:36:15 +03:00
d1a1e298e9 Removed wsrep_api.h dependency from view.hpp 2018-06-18 20:39:25 +03:00
60fb119fa1 Cleaned up client_state interface. 2018-06-18 18:55:38 +03:00
cf231bdf2d Refactored server_service out of server_state. 2018-06-18 17:45:24 +03:00
ef5751943d Refactored most of the server_state interface into server_service
abstract interface.
2018-06-18 16:52:41 +03:00
4a92841cb2 Moved commit()/rollback() to transaction_termination_service interface. 2018-06-18 15:31:57 +03:00
03043d3f25 Removing client_state dependency from client_service. 2018-06-18 10:21:02 +03:00
af3119a58b Removed ostream include from public API headers. 2018-06-17 13:55:37 +03:00
78cb0270af Added initial interface definition for server service. 2018-06-17 12:52:24 +03:00
0dac901b39 Improved client state documentation. 2018-06-17 11:12:20 +03:00
ef4baa9f9d Renamed server_context to server_state. 2018-06-17 10:07:48 +03:00
790c2bec4e Renamed transcation_context to transaction 2018-06-17 10:04:00 +03:00
dd28b173ab Renamed client_context to client_state. 2018-06-17 10:00:13 +03:00
97ee96987e Fixed dbsim BF aborts 2018-06-17 09:52:56 +03:00
ad0617c660 Using javadoc style for doc comments 2018-06-16 15:23:14 +03:00
47cb8e604c Renamed client context m_applier to m_high_priority 2018-06-16 15:08:31 +03:00
6dcac8ce4d Finished dbsim integration with refactored client API. 2018-06-16 10:25:14 +03:00
b3f60b7be1 Refactoring continued. 2018-06-15 15:13:22 +03:00
4fbf1d0cf8 Refactoring dbms simulator. Intermediate commit. 2018-06-15 12:58:36 +03:00
cb3b2fbf9e Fixed unit test failures caused by refactoring. 2018-06-14 23:13:25 +03:00
256000f934 Refactored client_service interface out of client_context 2018-06-14 19:44:38 +03:00
0b6e49474f Tests and fixes for replaying. 2018-06-14 15:00:40 +03:00
6246d9d3b8 Allow must_abort - cert_failed transition.
If the BF abort happens during provider certify call which
returns certification failure, the cert_failed state should
take precedence.
2018-06-14 11:58:47 +03:00
a8ab9c6dbd SR applying implementation, unit tests. 2018-06-14 11:14:40 +03:00
3cd7a11cb2 Extracted streaming_context into separa teclass 2018-06-13 16:59:25 +03:00
37efaba3e5 Bytes and statement streaming unit. 2018-06-13 16:51:23 +03:00
6677e3cfd8 More unit tests for streaming replication. 2018-06-13 14:13:55 +03:00
f07885e204 Call before/after prepare from before_commit() when 1PC
before_prepare() call prepares removal SR fragments from stable
storage and the logic should be duplicated in before_commit()
otherwise.
2018-06-13 13:04:33 +03:00
461247adc1 Renamed unit test doubles 2018-06-13 11:23:48 +03:00
265d9b3322 Unit tests for SR with two statements, SR rollback. 2018-06-13 10:18:46 +03:00
9e8e6d47ba * Unit test for SR 2PC
* Removed redundant data class
* Introduced const_buffer and mutable_buffer
* Transaction context and client context interface refactoring
2018-06-12 18:04:32 +03:00