230 Commits

Author SHA1 Message Date
Mark Riddoch
9a3dd78926 Addition of reload commands in the debug CLI for users and configuration
Fixed bug in reload configuration
2013-07-17 16:06:08 +02:00
Mark Riddoch
7ea4d543a1 Updated README in line with the name changes 2013-07-17 14:58:49 +02:00
Mark Riddoch
02e60e215b Name change to MaxScale rather than gateway
Addition of code for dynamic reconfiguration by editign the cnf file and sendign a SIGHUP

Improvements to the make install rule
2013-07-17 13:32:04 +02:00
Massimiliano Pinto
b6cbe3a34c ReadConnRoute can handle now COM_CHANGE_USER
mysql_backend calls routeReply with backand results.

routeReply in readwritesplit.c can understand the dcb->command value
2013-07-17 10:39:08 +02:00
Massimiliano Pinto
91f1b4bc6f Added router command values: they will be used:
- as command types in protocol modules (standard routing or session change routing)
- to write back the data from backend (discard multiple backends ouput)
2013-07-16 19:43:39 +02:00
Massimiliano Pinto
17e33d2ef9 Added command type to:
gwbuf struct
dcb struct

This int field will hold the last command executed or sent to backend.

It will be 0 for most cases, setting it with a different value could help route differently the data from backend to client or some custom error messages.
2013-07-16 19:32:00 +02:00
Massimiliano Pinto
bfc45c570e Added MYSQL_SESSION_CHANGE 2013-07-16 09:18:16 +02:00
Massimiliano Pinto
e0d9d45f3b Read write split router can reply the master packet to client in session change.
Mysql backend handles auth and session func.


The MYSQL_SESSION_CHANGE may be not in sync with authentication
2013-07-15 18:56:14 +02:00
Massimiliano Pinto
0d3e798b73 Added descrtiption for auth and generic func pointers 2013-07-15 13:42:12 +02:00
Massimiliano Pinto
0d1a74c87a Moved mysql_send_auth_error into mysql_common.c
mysql_send_auth_error is called if an user is not in the gateway users table
2013-07-15 11:17:44 +02:00
Massimiliano Pinto
5d2dc8961f Variable 'l' instead of 'i' in main for SS_DEBUG 2013-07-15 09:09:43 +02:00
Massimiliano Pinto
45c28a033e Added support form COM_CHANGE_USER in readwritesplit.c
Added func.auth() and func.generic() in dcb.h

Some mysql routines moved into mysql_common.c


New session user still not saved in the dcb->data
2013-07-15 09:03:51 +02:00
Mark Riddoch
fa8ea19f85 Addition of banner in debugcli and fix to red write splitting for session write statements 2013-07-12 10:31:24 +02:00
Mark Riddoch
833e594edf Changed mysql_server_init to the newer mysql_library_init. Fixed issue with directory
creation and added examples to gateway.cnf
2013-07-12 09:52:36 +02:00
Mark Riddoch
619af90696 Implementation of shared buffer level in the gwbuf so that one set of data can be kept with
different offsets for different gwbufs

Updated monitor to better handle maste/slave replication environments

Split MASTER and SERVER bits in the erver bitmask so that we canhave more states, MASTER, SLAVE and NOT IN REPLICATION

Updates to the read write splitter for routing commands to all nodes, diagnostic output and fixes to the algorithm to pick up a master and slave connection
2013-07-11 18:37:43 +02:00
Mark Riddoch
aea8af08ba Fixes to enable multiple gateways to be run on the same machine.
A temporary directory is used for the data directory, incorporating the pid
in the directory name. If set then the data directory will be stored in $GATEWAY_HOME,
if not it will be placed in /tmp

If $GATEWAY_HOME is set then the log files will be written to $GATEWAY_HOME/log
2013-07-11 13:02:13 +02:00
vraatikka
8221e75fa7 First version of read write split router. Memory is leaked but it seems that its happening in connection handling somewhere. 2013-07-10 12:31:52 +03:00
vraatikka
7e1840b609 Renamed router to readwritesplit 2013-07-10 11:30:58 +03:00
vraatikka
efb6e7b7aa Added file, and line to debug print. 2013-07-10 11:30:14 +03:00
Massimiliano Pinto
1e02af08f1 Removed fprintf 2013-07-09 15:54:10 +02:00
Massimiliano Pinto
6b5f65fb10 New version with /show?dcb|session 2013-07-09 15:39:03 +02:00
vraatikka
dc4a8f5ff5 Fixed typo 2013-07-09 16:33:40 +03:00
vraatikka
04a05e316c Fixed path to monitor 2013-07-09 16:18:18 +03:00
vraatikka
b6bca933cc Continued adding support for libmysqld in modules/monitor/Makefile. Added new libraries to links target. 2013-07-09 15:10:43 +03:00
vraatikka
443e709227 Added libmysqld support to mysql_mon.c, removed comment from router.c 2013-07-09 14:24:00 +03:00
vraatikka
6f8c595871 Merge 2013-07-09 12:37:28 +03:00
vraatikka
e6b72a1900 Added - rm *.so to clean to avoid accidentally use old libraries that were just lying around. 2013-07-09 12:33:25 +03:00
Massimiliano Pinto
c8b765fbd4 Added again 2013-07-09 11:25:44 +02:00
vraatikka
03fad6fc1c Removed rm *.so 2013-07-09 12:22:17 +03:00
Massimiliano Pinto
15cba9895c Added HTTPD protocol module in configuration and Makefile 2013-07-09 10:38:58 +02:00
Massimiliano Pinto
411647f6c3 Merge commit 2013-07-09 09:48:00 +02:00
Massimiliano Pinto
be7d3b6481 New versions:
apache benchmarks succesfully done.


Example:

ab -n 1000000 -c 200 'http://127.0.0.1:6444/'
2013-07-09 09:45:59 +02:00
vraatikka
06ebb0319d Added flag which determines the connection type for embedded server. 2013-07-09 10:14:11 +03:00
vraatikka
38bb376e27 Merge 2013-07-09 09:54:07 +03:00
vraatikka
02ad5fad57 Removed references to libmysqlclient, and replaced them with those of libmysqld since, in addition to query parsing feature, libmysqld provides external connectivity. 2013-07-09 09:40:25 +03:00
Mark Riddoch
c4d8501d75 Fixed memory leak in the DCB bitmask 2013-07-09 01:37:20 +02:00
Mark Riddoch
23b2a95d5a Update to the user loading to skip servers that can not be connected to 2013-07-08 19:20:50 +02:00
Mark Riddoch
46f6d27b0b Initial implementation of the monitor modules and a simple mysql monitor to set
server up or down automatically.
2013-07-08 18:55:43 +02:00
Massimiliano Pinto
902e059342 Added basic dta structure for session 2013-07-08 17:38:47 +02:00
Massimiliano Pinto
da2f4af95d httpd.h moved in modules/include 2013-07-08 16:26:06 +02:00
Massimiliano Pinto
4c5bd7fffa Revision history added 2013-07-08 16:23:26 +02:00
Massimiliano Pinto
074ae6220c First implementation 2013-07-08 16:20:59 +02:00
Massimiliano Pinto
8876e664c9 The write part of the protocol is handled by gateway buffer strategy.
Work in progress for the incoming data
2013-07-08 14:11:44 +02:00
Massimiliano Pinto
eea82c99cf NULL byte removed form dcb_printf 2013-07-08 12:23:53 +02:00
Massimiliano Pinto
15ef1e072f added /show, the first "command" that will print all the DCBs. 2013-07-08 11:46:43 +02:00
Massimiliano Pinto
ba4e8542a2 Added the Date header 2013-07-08 10:53:24 +02:00
Massimiliano Pinto
df34284d46 Added HTTP/1.1 and Connection: close
Fixed the gwbuff size: next write the httpd_print_str()
2013-07-08 10:28:40 +02:00
vraatikka
5a731ee2eb Merge 2013-07-08 11:25:54 +03:00
vraatikka
743796a918 Added readwritesplit to make list 2013-07-08 11:18:14 +03:00
vraatikka
259eeee4c1 Replaced hard-coded path with variable MARIADB_SRC_PATH 2013-07-08 11:17:37 +03:00