658a84a7d4
Fixed BF abort in sync rollback mode.
...
* Pass condition variable for client_state
* Notify all cond waiters when changing the transcation status to
aborted
* Wait for aborting transaction state aborted in before_command
2018-07-02 10:09:48 +03:00
db18e91c42
Implemented client last_written_gtid, sync_wait
2018-06-30 07:44:09 +03:00
3d2af88428
Propagate incoming address to provider.
2018-06-29 17:46:11 +03:00
c35f59cb5b
Deal with init before SST case.
2018-06-29 17:02:35 +03:00
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
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
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
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
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
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
03043d3f25
Removing client_state dependency from client_service.
2018-06-18 10:21:02 +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
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
ca6286d8b2
Use provider for replaying in mock client_context instead of
...
calling server context apply directly.
2018-06-14 12:41:34 +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
39c9ef8a63
Tests for transaction context, server context state strings.
2018-06-13 17:24:37 +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
4c1ea388f8
Call before_prepare()/after_prepare() for applier in before_commit()
...
if no 2PC is required.
2018-06-13 15:34:49 +03:00
4ccd1490d4
Fixes required to 1PC streaming replay to pass.
2018-06-13 14:33:58 +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
a7adcb01ba
Unit test for 2PC where rollback is done immediately after after_prepare()
2018-06-13 12:35:42 +03:00
37c56cb5ec
Moved 2PC tests into separate compliation unit.
2018-06-13 12:22:03 +03:00
9ff5d61111
Unit test for SR non-committing fragment failure
2018-06-13 11:36:22 +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
292072bf56
Reorganized coverage report, missing test cases for id.
2018-06-12 19:00:05 +03:00