cb1da5538c
MXS-1775 Monitoring function named consistently
...
The main monitoring function now has the same name in all
monitors (except MariaDBMonitor) and is a member function.
2018-06-01 13:48:15 +03:00
c039821467
MXS-1883 Maintenance is now the only user-modifiable bit for a monitored server
...
The request to turn maintenance off/on is a separate flag, although the actual
status is still contained in the status bitfield.
2018-05-30 10:09:15 +03:00
5f167abafd
Add missing priority usage information to galeramon
...
The monitor did not print the current value of this parameter and knowing
it is helpful.
2018-05-28 10:34:06 +03:00
f8940d4a2a
Use 64bits for server status flags
...
Monitor journal still uses 32bits.
2018-05-23 16:19:08 +03:00
3ec449339f
Only write to SERVER->status at the end of a monitoring loop
...
This makes the code clearer and reduces race conditions, as the monitor
could be writing SERVER->status while a router is reading it. Also,
the time during which the SERVER struct is locked drops to a fraction.
2018-05-23 16:19:08 +03:00
043232990c
MXS-1859 Correct merge bug
...
Version comparison was wrong.
2018-05-21 15:58:12 +03:00
4788c4947d
Merge branch 'read_only' into develop
...
develop was updated before a merge was pushed, requiring a second merge.
2018-05-18 16:51:38 +03:00
709c076000
Merge branch '2.2' into develop
2018-05-18 16:31:49 +03:00
f3973b331f
Fix rebase error.
2018-05-18 16:00:05 +03:00
650a739c92
MXS-1775 Move monitor loop to MonitorInstance
2018-05-18 16:00:05 +03:00
db30ea96f2
MXS-1775 m_master is now a member variable of MonitorInstance
2018-05-18 16:00:05 +03:00
5aa30e8613
MXS-1775 AurorMon now hangs up as the other monitors do
2018-05-18 16:00:05 +03:00
6eef6f52db
MXS-1775 Wait the same way in all monitors
2018-05-18 16:00:05 +03:00
2396b555f8
MXS-1775 Monitor loop and monitoring separated
...
In preparation for moving the monitor loop to MonitorInstance.
2018-05-18 16:00:05 +03:00
6fff5a4f23
MXS-1775 Preparatory work for moving main loop to MonitorInstance
2018-05-18 16:00:05 +03:00
6db4ce54a9
MXS-1775 MonitorInstance now calls mysql_thread_[init|finish]()
2018-05-18 16:00:05 +03:00
15e3a2887c
MXS-1775 Move status management to MonitorInstance
2018-05-18 16:00:05 +03:00
1e084b78b1
MXS-1775 MonitorInstance::m_script is now a std::string
2018-05-18 16:00:05 +03:00
c7eb0a9958
MXS-1775 Thread starting is now handled by MonitorInstance
2018-05-18 16:00:05 +03:00
adb7f156d6
MXS-1775 Introduce MonitorInstance::has_sufficient_permissions()
...
With this function in place, it is now possible to move the thread
starting to MonitorInstance.
2018-05-18 16:00:05 +03:00
3606a5ed1c
MXS-1775 Introduce MonitorInstance::configure() function
...
The configuring of the monitor instance is now performed in a
separate function. That is in preparation for the moving of the
start function to maxscale::MonitorInstance.
2018-05-18 16:00:05 +03:00
bcb7d09a15
MXS-1775 Monitor stopping moved to maxscale::MonitorInstance
2018-05-18 16:00:05 +03:00
1304fd6147
MXS-1775 Move thread main function to maxscale::MonitorInstance
2018-05-18 16:00:05 +03:00
3c277f4e5e
MXS-1775 Introduce maxscale::MonitorInstance
...
- All monitors (but MariaDBMon for the time being) inherit
from that.
- All common member variables moved to that class. Still
manipulated in derived classes.
In subsequent commits common functionality will be moved to
that class.
2018-05-18 16:00:05 +03:00
787a0b50ef
MXS-1775 Cleanup monitor class headers
...
- All classes now declared in separate header file
- Header files have .hh-suffix
2018-05-18 16:00:05 +03:00
90f1784d21
MXS-1775 Turn NDBC monitor into a class.
...
A mechanical change, without any functional modifications.
2018-05-18 16:00:05 +03:00
4b236a79db
MXS-1775 Turn Galera monitor into a class.
...
A mechanical change, without any functional modifications.
2018-05-18 16:00:05 +03:00
cd233fe594
MXS-1775 Turn MM monitor into a class
...
A mechanical change, without any functional modifications.
2018-05-18 16:00:05 +03:00
cc7a154e7d
MXS-1775 Turn Aurora monitor into a class.
...
A mechanical change, without any functional modifications.
2018-05-18 16:00:05 +03:00
d5871e48ae
MXS-1775 Change assumption of Monitor::destroy() function
...
Used to be assumed to be a static member function, now assumed
to be a regular member function.
2018-05-18 16:00:05 +03:00
fb56de641a
MXS-1859 Add options for enforcing read_only on slaves
...
If the feature is enabled (default off), at the end of a monitor loop
(once server states are known), read_only is enabled on slaves servers
without it.
2018-05-18 15:29:56 +03:00
a31549221b
MXS-1845 Print all slave connections at 'show monitors'
...
The format has changed.
2018-05-18 13:48:08 +03:00
45da5a08d9
MXS-1845 Cleanup monitor backend updating
...
Now detects errors and prints them.
2018-05-18 13:48:08 +03:00
654b5f1958
MXS-1865 Wrong permissions on backends no longer cause monitor start to fail
...
The logic was weird, as the permission checking function assumes a disconnected
server as fine. The checking is now done when starting the main loop and lacking
grants print errors but does not stop the monitor.
2018-05-16 13:55:45 +03:00
b71710e066
MXS-1865 Combine server version and type
...
Binlog server is now handled better.
2018-05-16 13:55:45 +03:00
b29bae6e84
MXS-1865 Update server version only when (re)connecting
...
Updating it every iteration is needless.
2018-05-16 13:55:45 +03:00
7e9062f20f
Merge branch '2.2' into develop
2018-05-16 09:31:13 +03:00
ee2c3e21c7
Fix server priority regression
...
Servers without priorities were chosen instead of servers with
priorities. This caused at least the server_weight test to fail.
2018-05-15 10:15:32 +03:00
97eb7d2f9e
Fix deadlock in galeramon
...
The parameter extraction caused a recursive lock of the server
spinlock. To work around this, an unlocked version of server_get_parameter
is needed.
Ideally, a lock-free setup would be used but due to this being a bug fix,
it will have to be done later on.
2018-05-15 10:15:26 +03:00
c6b8277281
Cleanup server status querying
...
No functional changes except that status changes are no longer logged when
querying. It was bugged to begin with.
2018-05-14 11:32:02 +03:00
df4454027a
Clean up monitor initialization and destruction
...
Since monitors are now freed at MaxScale exit, the server data should be freed. Also,
gtid domain variables are now initialized with a common constant.
2018-05-14 11:32:02 +03:00
97328a61f0
Use MonitorApi in MariaDBMonitor
2018-05-14 11:11:08 +03:00
b92284afc4
Move server querying to MariaDBServer
...
The query functions still require the base monitor struct because of
mon_ping_or_connect_to_db().
2018-05-14 11:11:08 +03:00
38647a0c69
Increase monitor sleep accuracy
...
Now the last sleep of a monitor loop is of correct duration.
2018-05-14 11:11:08 +03:00
0b459c0496
Always check monitor permissions when starting monitor
...
Servers could have been added while monitor was down so better be on the safe side.
2018-05-14 11:11:08 +03:00
370b3be576
MXS-1703 Support "Preparing" in Slave_IO_Running
...
Is interpreted as "Connecting".
2018-05-09 12:49:23 +03:00
0c5af4b13f
Merge branch '2.2' into develop
2018-05-08 14:10:52 +03:00
39789c19d3
MXS-1856 Do not set read_only OFF if join_cluster() fails
...
This could in some cases leave read_only OFF even if the target slave
begins replication.
2018-05-08 13:56:57 +03:00
fe0ed99df4
MXS-1848 Fix typo
2018-05-08 13:44:28 +03:00
401dc79dad
MXS-1848 Implement GRMon using maxscale::MonitorApi
2018-05-07 14:53:48 +03:00