diff options
author | Daniele Sciascia <daniele.sciascia@galeracluster.com> | 2020-01-14 06:33:02 +0100 |
---|---|---|
committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2020-01-14 07:33:02 +0200 |
commit | 2d4b6571ecf15a4382702d26df9439bc5a1005de (patch) | |
tree | 93e9913ca4610bd7e69ca23a59e10d3339bad4cb /sql/wsrep_server_service.h | |
parent | 983163209d026bfd979b4298053fcbdb373efa9d (diff) | |
download | mariadb-git-2d4b6571ecf15a4382702d26df9439bc5a1005de.tar.gz |
Wsrep position not updated in InnoDB after certification failures (#1432)
A certification failure followed by a clean shutdown would cause an
inconsistency between the sequence number stored in innodb and the
sequence number stored in provider.
This happened both in the case of local certification failure, and in
the case where dummy writeset is applied.
The fix consists of:
- updating wsrep position after dummy writeset is delivered in
`Wsrep_high_priority_service::log_dummy_write_set()`
- updating wsrep position while releasing commit order in wsrep-lib
side
Added two tests which stress the situation where a server is shutdown
after a certification failure.
Diffstat (limited to 'sql/wsrep_server_service.h')
-rw-r--r-- | sql/wsrep_server_service.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/wsrep_server_service.h b/sql/wsrep_server_service.h index 4017c9b2d58..168e98206e3 100644 --- a/sql/wsrep_server_service.h +++ b/sql/wsrep_server_service.h @@ -61,6 +61,7 @@ public: wsrep::view get_view(wsrep::client_service&, const wsrep::id& own_id); wsrep::gtid get_position(wsrep::client_service&); + void set_position(wsrep::client_service&, const wsrep::gtid&); void log_state_change(enum wsrep::server_state::state, enum wsrep::server_state::state); |