Commit Graph

334 Commits

Author SHA1 Message Date
1d0740c1c1 Renamed node to initiator in the arguments a monitor calls the script. 2015-05-09 21:16:35 +03:00
9845923f81 Added full implementation of MXS-121 to all monitors. 2015-05-09 17:37:34 +03:00
0c15812340 Moved common functions to monitor_common.c 2015-05-09 14:29:26 +03:00
8af302d785 Removed unused variables from monitors. 2015-05-09 14:19:25 +03:00
6e1a69df7e Changed callable monitor scripts to be called with command line parameters instead of having multiple scripts.
This reduces the amount of guesswork the monitor has to do when executing the script and places that burden on the called script.
2015-05-09 14:03:52 +03:00
788c0b3428 Merge branch 'develop' into MXS-121 2015-05-09 12:09:17 +03:00
49d5409dcb Merge branch 'develop' into MXS-121
Conflicts:
	server/modules/monitor/mysql_mon.c
2015-05-09 04:49:06 +03:00
5a3ed0de9b Moved common monitor functionality to the MONITOR type
Common variables, like databases, timeouts and interval, and functionality was moved to the MONITOR type.
This reduces the redundant functionality of the monitor API's functions like registerServer and setInterval.
2015-05-09 04:47:17 +03:00
fdd5a10478 Fixed a memory leak in all the monitors when a failed mysql_ping to the database caused a reinitialization of MYSQL* connection. 2015-05-07 11:42:14 +03:00
da6d597987 Moved common monitor structures and definitions to a separate header and added master down script to galeramon. 2015-05-07 05:56:13 +03:00
cad59abbd1 Added parameters for commands and changed the execv call to execvp. 2015-05-05 22:36:47 +03:00
565eeb8f9d Merge branch 'develop' into mon_script_test 2015-05-05 18:30:08 +03:00
9d9ebc5f67 Correct date in revision history, add to revision history for disableMasterRoleSetting. 2015-05-05 11:07:23 +01:00
8647b30184 Merge remote-tracking branch 'origin/develop' into MXS-105
Conflicts (resolved):
	server/modules/routing/schemarouter/schemarouter.c
2015-05-05 10:54:09 +01:00
c0f14dd33b Merge branch 'develop' into mon_script_test 2015-05-04 09:14:04 +03:00
6c904b164a Fix to bug MXS-25
A failed master no longer generates the "Info: A Master Server is now available" message.
2015-04-30 11:28:07 +03:00
1755706ada Master/Slave detection based on variable only
Master/Slave role setting is now based on variable value only.

Replication is checked and, if working, master_id, slave_id are saved
into server struct
2015-04-29 10:50:32 +02:00
398b5dfe12 Added node priorities to galeramon. The master node is selected with the lowest priority parameter in the configuration. 2015-04-28 21:32:56 +03:00
17a7b2addb Updated more variables. 2015-04-26 20:08:27 +03:00
df9bc65430 Added variables that are used when installing instead of relative paths. 2015-04-25 18:35:47 +03:00
03badb9b7b Modifications to galera monitor to control whether selection of master is wanted. 2015-04-24 15:35:10 +01:00
060ebc3880 Add support for Galera xtrabackup donor availability 2015-04-20 14:45:03 +02:00
1516422458 A script can now be called in mysql_mon when a master server loses master status. 2015-04-07 04:49:56 +03:00
341c04aa48 First tests. 2015-03-31 17:27:25 +03:00
90875c1164 Cleaned up unused variables. 2015-03-11 18:12:18 +02:00
63d83cd85d Monitor API 2.0.0 implemented. 2015-03-11 15:18:55 +02:00
9209c812ba Updates to refactoring of the monitors. 2015-03-11 10:40:53 +02:00
c0d2a12990 First step to refactoring monitors. 2015-03-10 12:24:23 +02:00
880adca73e Merge branch 'develop' into MAX-324 2015-03-05 10:45:48 +02:00
2b8cb8aa94 Lowered the CMake required version for non-package builds. 2015-03-04 17:04:43 +02:00
b4fa4cc1c1 Added MM monitor to the set of modules that are built. 2015-02-24 16:22:34 +02:00
70f0f239a5 Added dcb_call_foreach to galera monitor and fixed MM monitor missing a parameter. 2015-02-24 15:38:33 +02:00
9e7afeb302 Merge branch 'develop' into MAX-324
Conflicts:
	macros.cmake
	server/core/config.c
	server/core/service.c
	server/modules/routing/CMakeLists.txt
2015-02-24 06:26:55 +02:00
0e1bcde5de Fixed compile errors for mm_mon.c
Fixed compile errors for mm_mon.c
2015-02-23 18:58:00 +01:00
cd986cba17 Updated galera monitor to use the new dcb_callforeach. 2015-02-20 10:18:24 +02:00
ea55572ab8 Merge branch 'develop' into MAX-324 2015-02-20 04:45:48 +02:00
da029140cd dcb_call_foreach now only calls the callbacks for those DCBs that are connected to the server. 2015-02-18 05:36:39 +02:00
9681b9cec4 Added error handling and re-mapping of databases to dbshard router in addition to hint detection. 2015-02-02 21:37:04 +02:00
566831c9c5 Fix to bug 705: http://bugs.mariadb.com/show_bug.cgi?id=705
changed " to ' in queries so that ANSI_QUOTES works with sql_modes that use it.
2015-01-26 20:17:20 +02:00
92ebfb2eb9 Timeouts handling in NDB Monitor
Timeouts handling in NDB Monitor
2015-01-26 11:50:24 +01:00
ba5cab0af6 NDB Monitor update
NDB Monitor update
2015-01-26 11:35:21 +01:00
06c2d201e0 remove makefiles and other garbage 2015-01-14 19:08:24 +02:00
cd99849581 Fix #2 to bug 680: http://bugs.mariadb.com/show_bug.cgi?id=680"
When no users are loaded from backends, instead of counting it as a failure the service is started and the next time a client connects an attempt to load the users from the backends is made.
2015-01-05 17:38:45 +02:00
6adccb3c17 Fix to bug 680: http://bugs.mariadb.com/show_bug.cgi?id=680
service.h:Added the 'serviceStartFailed' function which tries to start services with successfully started routers but no successfully started listeners.
mysql_mon.c:Added a call to ServiceStartFailed when servers come available.
2015-01-05 13:38:39 +02:00
51315c0764 Fixed a memory leak in tee.c:freeSession, where tee session wasn't freed 2014-12-23 13:36:05 +02:00
f0d8ed0cf2 Fix to #657, http://bugs.mariadb.com/show_bug.cgi?id=657
session.c:session_free:if session is child of another service (tee in this case), it is the parent which releases child's allocated memory back to the system. This now also includes the child router session.
dcb.h: Added DCB_IS_CLONE macro
tee.c:freeSession:if parent session triggered closing of tee, then child session may not be closed yet. In that case free the child session first and only then free child router session and release child session's memory back to system.
tee.c:routeQuery: only route if child session is ready for routing. Log if session is not ready for routing and set tee session inactive
mysql_client.c:gw_client_close:if DCB is cloned one don't close the protocol because they it is shared with the original DCB.
2014-12-23 00:26:57 +02:00
6b6ac2f95f Partial fix to bug #657, http://bugs.mariadb.com/show_bug.cgi?id=657
dcb.c:dcb_clone: set same close function than in the original DCB so that routing session will become closed when client DCB is closed.
session.h:introduce a new state which indicates that SESSION structure can be freed next, SESSION_STATE_TO_BE_FREED. State is needed to separate the state before and after memory free. Memory is freed in different situation depending on whether the session is parent or child session. Child sessions are freed in their parent.
Also introduce a new member in SESSION struct, ses_is_child, to indicate whether SESSION has a parent session which is responsible for releasing the memory of it.

session.c:session_unlink_dcb:when last session reference is removed set SESSION->state=SESSION_STATE_TO_BE_FREED
session.c:session_free:only free the memory if session is not child session. If it is child, session is left to be freed by the parent (in tee filter's freeSession, for example).

tee.c:newSession:mark branch session to child.
tee.c:freeSession:if child session memory is ready to be freed, free it.

mysql_mon.c:monitorMain:when backend server's status changes so that it is not running anymore or doesn't have any of the states - master, slave, ndb, joined - call for each DCB the callback-function DCB_REASON_NOT_RESPONDING if specified. Earlier callbacks were called if there was any change in the state of the server being monitored.
2014-12-22 16:24:07 +02:00
ac97fcd764 Removed redundancy from error and message logs.
server.c: Added new member to SERVER->master_err_is_logged. It is used if server loses master status. It causes error log print in readwritesplit router's eror handling. Initial value is false and it is set always to false when server's status is set to master.
Added message log printing to mysql monitor, if master status changes to something else. It is not warning or error but only information which probably interests the user.

readwritesplit.c:Muted warnings and error printings in cases if slaves are not found if it is allowed to have a master only.
readwritesplit.c:Corrected error log printing in case where master lost its status. REdundant prints are removed.
2014-12-18 19:12:01 +02:00
6a54d888de Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2014-12-08 16:04:27 +02:00
5264a1abc9 Added function documentation, moved one non-error log entry to message log, cleaned up a bit. 2014-12-08 16:02:16 +02:00