Merge branch '2.3' into develop

This commit is contained in:
Esa Korhonen
2019-03-12 11:22:34 +02:00
4 changed files with 39 additions and 51 deletions

View File

@ -15,6 +15,7 @@
#include <functional>
#include <string>
#include <memory>
#include <mutex>
#include <maxbase/stopwatch.hh>
#include <maxsql/mariadb.hh>
#include <maxscale/monitor.hh>
@ -115,6 +116,7 @@ public:
bool log_slave_updates = false; /* Does the slave write replicated events to binlog? */
};
/* Monitored server base class/struct. MariaDBServer does not own the struct, it is not freed
* (or connection closed) when a MariaDBServer is destroyed. */
MXS_MONITORED_SERVER* m_server_base = NULL;
@ -549,6 +551,12 @@ private:
DISABLE
};
/* Protects array-like fields from concurrent access. This is only required for fields which can be
* read from another thread while the monitor is running. In practice, these are fields read during
* diagnostics-methods. Reading inside monitor thread does not need to be mutexed, as outside threads
* only read the values. */
mutable std::mutex m_arraylock;
bool update_slave_status(std::string* errmsg_out = NULL);
bool sstatus_array_topology_equal(const SlaveStatusArray& new_slave_status);
const SlaveStatus* sstatus_find_previous_row(const SlaveStatus& new_row, size_t guess);