Teemu Ollakka
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
Teemu Ollakka
a4f5997045
Client state history, fixed races in server state, logging improv
2018-06-28 11:56:28 +03:00
Teemu Ollakka
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
Teemu Ollakka
d659c6bebd
Allow negative seqnos
2018-06-27 12:02:38 +03:00
Teemu Ollakka
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
Teemu Ollakka
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
Teemu Ollakka
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
Teemu Ollakka
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
Teemu Ollakka
cad9176474
TOI replicating and applying codepaths
2018-06-25 09:28:51 +03:00
Teemu Ollakka
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
Teemu Ollakka
1f6a6db1e9
* Fixes to SST time server state management
...
* Logging tweaks
* Boolean to tune behavior on exception
2018-06-22 13:03:12 +03:00
Teemu Ollakka
8f0e112c47
Renamed invalid to undefined. More utility functions.
2018-06-21 16:50:44 +03:00
Teemu Ollakka
81ac78913a
Initial implementation of client_state TOI mode.
2018-06-21 11:45:18 +03:00
Teemu Ollakka
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
Teemu Ollakka
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
Teemu Ollakka
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
Teemu Ollakka
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
Teemu Ollakka
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
Teemu Ollakka
5c3c972947
Provide access to native wsrep API handle.
2018-06-19 09:41:04 +03:00
Teemu Ollakka
0e4c7f16a9
Pass ws_handle as const reference to provider replay()
2018-06-19 09:36:15 +03:00
Teemu Ollakka
d1a1e298e9
Removed wsrep_api.h dependency from view.hpp
2018-06-18 20:39:25 +03:00
Teemu Ollakka
60fb119fa1
Cleaned up client_state interface.
2018-06-18 18:55:38 +03:00
Teemu Ollakka
cf231bdf2d
Refactored server_service out of server_state.
2018-06-18 17:45:24 +03:00
Teemu Ollakka
ef5751943d
Refactored most of the server_state interface into server_service
...
abstract interface.
2018-06-18 16:52:41 +03:00
Teemu Ollakka
4a92841cb2
Moved commit()/rollback() to transaction_termination_service interface.
2018-06-18 15:31:57 +03:00
Teemu Ollakka
03043d3f25
Removing client_state dependency from client_service.
2018-06-18 10:21:02 +03:00
Teemu Ollakka
af3119a58b
Removed ostream include from public API headers.
2018-06-17 13:55:37 +03:00
Teemu Ollakka
78cb0270af
Added initial interface definition for server service.
2018-06-17 12:52:24 +03:00
Teemu Ollakka
0dac901b39
Improved client state documentation.
2018-06-17 11:12:20 +03:00
Teemu Ollakka
ef4baa9f9d
Renamed server_context to server_state.
2018-06-17 10:07:48 +03:00
Teemu Ollakka
790c2bec4e
Renamed transcation_context to transaction
2018-06-17 10:04:00 +03:00
Teemu Ollakka
dd28b173ab
Renamed client_context to client_state.
2018-06-17 10:00:13 +03:00
Teemu Ollakka
97ee96987e
Fixed dbsim BF aborts
2018-06-17 09:52:56 +03:00
Teemu Ollakka
ad0617c660
Using javadoc style for doc comments
2018-06-16 15:23:14 +03:00
Teemu Ollakka
47cb8e604c
Renamed client context m_applier to m_high_priority
2018-06-16 15:08:31 +03:00
Teemu Ollakka
6dcac8ce4d
Finished dbsim integration with refactored client API.
2018-06-16 10:25:14 +03:00
Teemu Ollakka
b3f60b7be1
Refactoring continued.
2018-06-15 15:13:22 +03:00
Teemu Ollakka
4fbf1d0cf8
Refactoring dbms simulator. Intermediate commit.
2018-06-15 12:58:36 +03:00
Teemu Ollakka
cb3b2fbf9e
Fixed unit test failures caused by refactoring.
2018-06-14 23:13:25 +03:00
Teemu Ollakka
256000f934
Refactored client_service interface out of client_context
2018-06-14 19:44:38 +03:00
Teemu Ollakka
0b6e49474f
Tests and fixes for replaying.
2018-06-14 15:00:40 +03:00
Teemu Ollakka
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
Teemu Ollakka
a8ab9c6dbd
SR applying implementation, unit tests.
2018-06-14 11:14:40 +03:00
Teemu Ollakka
3cd7a11cb2
Extracted streaming_context into separa teclass
2018-06-13 16:59:25 +03:00
Teemu Ollakka
37efaba3e5
Bytes and statement streaming unit.
2018-06-13 16:51:23 +03:00
Teemu Ollakka
6677e3cfd8
More unit tests for streaming replication.
2018-06-13 14:13:55 +03:00
Teemu Ollakka
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
Teemu Ollakka
461247adc1
Renamed unit test doubles
2018-06-13 11:23:48 +03:00
Teemu Ollakka
265d9b3322
Unit tests for SR with two statements, SR rollback.
2018-06-13 10:18:46 +03:00
Teemu Ollakka
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