a8be09161c
Replaced replicating mode with local.
...
The intended purpose for local mode was local storage access without
entering replication hooks. However, the same can be achieved with
high priority mode. Removed replicating mode and use local instead to
denote locally processing clients.
2018-07-07 12:01:14 +03:00
af18a10a49
Removed is_autocommi() from client_service interface as it is not
...
quite useful as there might not be enough information for it
after the statement has been processed. Better to handle retrying
on DBMS side. Also removed after_statement_result enumeration and
return plain int from after_statement().
2018-07-06 19:48:48 +03:00
e876418ed3
* Renamed client service rollback() to bf_rollback() to better
...
describe its purpose.
* Raise deadlock error for BF aborted transaction in after_statement()
call if the error is not set yet.
2018-07-06 15:42:03 +03:00
d80a69fe90
Defined log_state_change() interface in server_service.
...
The interface method can be used to notify the DBMS implementation
about state changes in well defined order. The call will be done
under server_state mutex protection.
2018-07-05 12:45:22 +03:00
b9532e6497
Return provider status from set options.
2018-07-03 16:33:14 +03:00
4e8dfca3f1
Initial RSU implementation.
2018-07-03 12:37:22 +03:00
e6d78c380d
Pass ws_meta to high priority service apply_toi
2018-07-03 08:58:25 +03:00
3632e7823c
Pass high_priority_service instead of void ptr for provider methods.
2018-07-03 07:48:35 +03:00
635eaf4c29
Refactored high priority service out of client service.
2018-07-02 18:22:24 +03:00
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