1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-07-28 20:02:00 +03:00

Reset client state gtid state in client_state::open()

If the application uses caching for client sessions, the
client_state object may be reused. This will cause the opened
client session to have unexpected value for sync_wait_gtid and
last_written_gtid.

In order to work around the problem, reset sync_wait_gtid and
last_written_gtid in client_state::open().
This commit is contained in:
Teemu Ollakka
2019-02-18 15:57:16 +02:00
parent 92024c7d50
commit 0b09871ad5

View File

@ -38,6 +38,8 @@ void wsrep::client_state::open(wsrep::client_id id)
owning_thread_id_ = wsrep::this_thread::get_id();
current_thread_id_ = owning_thread_id_;
has_rollbacker_ = false;
sync_wait_gtid_ = wsrep::gtid::undefined();
last_written_gtid_ = wsrep::gtid::undefined();
state(lock, s_idle);
id_ = id;
debug_log_state("open: leave");