a7e0142224
Merge branch '2.3' into 2.4
2020-01-15 11:29:37 +02:00
790d90f229
Update 2.3.16 Change Date
2020-01-15 11:08:51 +02:00
a9a2b753c0
Update 2.4.5 change date
2019-12-18 13:25:03 +02:00
d44aff6c3d
Merge branch '2.3' into 2.4
2019-12-10 11:12:41 +02:00
7be6ee1616
MXS-2789: Make stale journal messages notifications
...
These events are of no actual consequence and can be safely ignored. It is
simply informational.
2019-12-10 11:11:05 +02:00
f6731a898d
Update change date
2019-11-13 08:37:17 +02:00
fdfbf3e133
Update 2.4.3 change date
2019-11-05 12:21:00 +02:00
861e27eb00
Merge branch '2.3' into 2.4
2019-10-29 14:04:31 +02:00
df6c56e7ca
Update 2.3.13 Change Date
2019-10-29 12:51:31 +02:00
ebbd806c6a
Merge branch '2.3' into 2.4
2019-09-06 10:59:08 +03:00
00feb61b23
MXS-2652 Do not clear maintenance flag when a server goes down
...
The set of flags to clear should be well-defined.
2019-09-06 09:43:32 +03:00
1514a77345
Improve main thread detection
...
Now properly checks if configuration and diagnostics functions are ran in either
main() or in the admin worker. This is useful for debugging and enforcing
thread safety.
Also, monitors are now started and stopped in the admin worker.
2019-07-31 12:36:05 +03:00
0394c9c525
MXS-2449: Fix maxinfo monitor status output
...
The status use an AND operation when it should do an equality comparison.
2019-07-10 12:38:10 +03:00
0ba779d5a2
Update 2.4.0 Change Date
2019-06-25 10:11:55 +03:00
20f595d978
Merge branch '2.3' into develop
2019-06-20 13:00:13 +03:00
7673ee685d
Distinguish stopped and finished workers
...
By having a separate FINISHED state and a STOPPED state, it is possible to
know at which point in the worker's lifetime an event is done. Posting of
messages before a worker is started is allowed but posting them after the
worker has stopped is not.
This fixes avrorouter related failures and all other failures that stem
from worker messages being ignored at startup.
2019-06-20 12:32:30 +03:00
4efa9dbeea
Remove maxscale/alloc.h
...
The remaining contents were moved to maxbase/alloc.h.
2019-06-10 14:11:25 +03:00
5e03ff35eb
Continue external command cleanup
...
Simplify serverlist creation code.
2019-06-07 11:30:44 +03:00
9fa2328feb
Clean up external command argument substitution
...
Use a single function for checking match and for replacing.
2019-06-07 11:06:45 +03:00
1ba77b59e2
MXS-2548 Show correct monitor state in "maxadmin list monitors"
...
The code OR:d with 0.
2019-06-06 17:09:41 +03:00
4ed154d07f
Create ExternalCmd during monitor configuration
...
The command object need not be recreated every time it's ran.
2019-06-04 14:55:09 +03:00
4b69156875
Simplify external command script substitution
...
The command script is now stored in string form. Substitution is performed
using normal string methods instead of regular expressions, since all used
substitutions are simple string replacements. Tokenization is performed after
substitution.
2019-06-04 14:55:09 +03:00
e849bf261b
Move ExternalCmd-functions to class methods
2019-06-03 10:16:56 +03:00
11a8488162
Begin converting EXTERNCMD to a class
...
Mostly renaming for now.
2019-05-28 11:32:23 +03:00
cf46004bd8
Make the servers-array in Monitor private
...
This prevents derived classes from modifying the array directly,
which would be unsafe.
2019-05-21 10:58:24 +03:00
c801789ff3
Cleanup monitor running state
2019-05-17 13:34:48 +03:00
08b4c26652
Monitor types and fields cleanup
...
Moves some enums to class enums. Moves some free functions to class methods.
2019-05-17 13:34:48 +03:00
f86f2c7688
Move remaining monitor status print functions inside class
2019-05-17 13:31:20 +03:00
884b5ea706
Change monitor ticks to atomic_long
...
The original atomic_int64_t was not supported on older compilers.
2019-05-14 14:02:02 +03:00
a9b1e3a442
Move some Monitor fields to private and protected
...
None of the fields should be publicly writable and some should not even
be writable from derived classes.
2019-05-10 14:48:41 +03:00
6b8ca35408
Format core source files
...
Formatted core .cc files according to current uncrustify configuration.
2019-05-06 16:05:50 +03:00
82b4338eca
Remove MonitorManager calls from Monitor functions
...
Also adds admin thread checks to MonitorManager functions and combines
anonymous namespaces.
2019-04-30 13:45:48 +03:00
c4b27cdefc
Store server->monitor relation in a map
...
Removes the need to iterate through monitor serverlists. Also adds asserts to verify
that monitor modifications are done only from an admin thread.
2019-04-30 13:45:48 +03:00
c60c5e4626
MXS-2329 Use durations in monitor (common parts)
2019-04-30 13:02:53 +03:00
fadbc0b1ae
Separate Monitor management to its own file
...
Allows better separation of file local data. Also allows moving monitor-
related code from config_runtime.cc.
2019-04-25 12:32:41 +03:00
6aedcc085f
Remove references to NDB server state
2019-04-24 14:15:56 +03:00
75c0ac5323
Move items from MonitorWorker to MonitorWorkerSimple
...
MonitorWorker only enforces the use of a worker thread but otherwise
does not define how the monitor is implemented.
2019-04-24 11:27:11 +03:00
f4c6b648d8
MXS-2271 Remove monitor->m_active field
...
Deactivated monitors are now moved to a separate, inaccessible list.
2019-04-02 13:08:38 +03:00
d89f0c062b
MXS-2271 Change Monitor->m_name to std::string
...
Also, monitor address is no longer printed.
2019-04-02 13:08:38 +03:00
858327acf7
Rename Being Drained to Draining
...
With this, the words are unique and can be searched for more easily. This
does not fix the test failure of mxs2273_being_drained.
2019-03-28 13:21:24 +02:00
03121c63d4
Add monitor reconfiguration helper
...
The MonitorManager function reconfigured a monitor and rolls back to the
old configuration if the new one doesn't work.
2019-03-26 17:30:38 +02:00
40df519be4
Never reactivate monitors
...
Reactivating monitors shouldn't be done as it's simpler to actually
destroy and create a new one. The performance of reactivation is
insignificant compared to the possible inconsistency problems it allows.
2019-03-21 18:19:10 +02:00
203bba0e1d
Add support for multiple runtime error messages
...
Storing all the runtime errors makes it possible to return all of them
them via the REST API. MaxAdmin will still only show the latest error but
MaxCtrl will now show all errors if more than one error occurs.
2019-03-21 18:19:10 +02:00
3ac1b40b63
MXS-2271 Refactor disk space checking
...
The functions are now in MonitorServer. Disk space can only be checked
during specific ticks. If a server misses a tick (e.g. is down) it will
be checked after disk_space_check_interval has passed.
2019-03-20 10:40:45 +02:00
6b14479b6c
MXS-2271 Rename MXS_MONITORED_SERVER to MonitorServer
2019-03-19 13:32:38 +02:00
14b4fa632a
MXS-2271 Move Monitor inside maxscale-namespace
...
Rearranged monitor.cc by namespace.
2019-03-15 12:57:35 +02:00
5e3f837b42
MXS-2271 Continue monitor header cleanup
...
No more free functions. Local functions moved to anonymous namespace.
2019-03-15 12:57:35 +02:00
ac5ee1278c
MXS-2271 Cleanup internal monitor header and its functions
...
Some functions still accessed the servers-array. Most functions are now
inside class. Removed unused defines.
2019-03-12 15:32:56 +02:00
e7abc53b70
MXS-2304 Clean up configuration serialization
...
The parameters are now written in the order they appear in the module
parameter definitions. Also enabled a previously disabled part in
server unit test.
2019-03-12 12:51:23 +02:00
a8949b2560
MXS-2271 Move free monitor functions into classes
...
Functions are divided to MonitorManager, Monitor, or the monitored
server.
2019-03-12 10:29:55 +02:00