Commit Graph

360 Commits

Author SHA1 Message Date
ae33df3cbc Large events are now processed in chuncks
The router->last_written is used to store the position where the last event was
written. The replication header is also stored in a separate structure in
the router which is used later when the last packet of a multi-packet event
arrives.
2016-02-16 13:06:24 +02:00
d3e1d4dd2f First fix for 16MB handling in the master part
First fix for 16MB handling in the master part.

Distribute events to up to date slave is not included yet
2016-02-16 13:06:24 +02:00
866e91c088 Changes to improve robustness of SSL processing, separate it so far as possible from protocols. Separate the detailed mechanism of authentication from the MySQL protocol with a view to making it into a module later. 2016-02-15 09:29:07 +00:00
971d1d5de2 Redesign logic of SSL connections to work with status in client DCB instead of in the protocol. This eases the way to moving SSL logic out of a specific protocol (currently MySQL) so as to be available across any protocol. Also, some simplification. 2016-02-03 08:54:55 +00:00
fc6f49fe8a Link against Connector-C.
Now, qc_mysqlembedded is linked against MySQL's embedded library,
and MaxScale itself against Connector-C.

So, in order to build MaxScale, Connector-C must be installed.
This has been tested with Connector-C 2.2.1.

The build variable MYSQLCLIENT_LIBRARIES is no longer used.
2016-02-01 15:43:05 +02:00
475dfb7288 Use common function for setting up MySQL connection.
Earlier the same (or almost the same) code was duplicated in
several places.

A conflicting declaration was also removed. There was no
implementation for that declaration.
2016-01-29 16:30:48 +02:00
d9b022db10 Protect updating of router when rotating.
When rotating, all state variables of router are now updated while
protected by the router->binlog_lock lock.
2016-01-28 15:23:22 +02:00
cba190f84c Checks for temporary tables are only done if they have been created
Previously all queries were inspected for CREATE, DROP and SELECT statements
which targeted temporary tables even if they haven't been created.
2016-01-08 11:16:43 +02:00
2715d3f8e4 Removed the 16 chars limitation for binlog file name
Removed the 16 chars limitation for binlog file name
2016-01-07 15:30:57 +01:00
d99cece151 Removed the 16 chars limitation for binlog file name
Removed the 16 chars limitation for binlog file name
2016-01-07 15:29:11 +01:00
e9755ba2b6 Remove file from slave
The binlog file is now always opened when it is needed and closed
when we are finished with it. That will remove any potential
file concurrency issues between different threads dealing with
the same slave.
2015-12-29 09:47:37 +02:00
4f8340f5b2 Changed behaviour for a slave requesting master_log_pos beyond binlog file size
Slave request for a log_pos behind binlog file size may result in a
disconnection or replication error:

if binlog file is latest one slave get disconnected otherwise an error
message is returned and replication stops
2015-12-28 18:00:52 +01:00
b55f100e1f Changed behaviour for a slave requesting master_log_pos beyond binlog file size
Slave request for a log_pos behind binlog file size may result in a
disconnection or replication error:

if binlog file is latest one slave get disconnected otherwise an error
message is returned and replication stops
2015-12-17 15:45:16 +01:00
40cfacfec4 Remove file from slave
The binlog file is now always opened when it is needed and closed
when we are finished with it. That will remove any potential
file concurrency issues between different threads dealing with
the same slave.
2015-12-11 17:25:27 +01:00
2f840ea089 Added newlines at the end of all files
Some files were missing newlines as the last character in the file, causing
errors to appear on some systems.
2015-12-07 20:23:18 +02:00
91eba965fc Formatted readconnroute
Formatted readconnroute files according to the style guide.
2015-12-02 13:36:18 +02:00
592e4d06cb Changed name for bad fd
Changed name for bad fd
2015-11-30 10:22:47 +01:00
ba135c5548 Log messages fix with slave ip:port and id
Log messages fix with slave ip:port and id
2015-11-30 10:22:12 +01:00
14d11fa4c0 Changed name for bad fd
Changed name for bad fd
2015-11-27 09:43:58 +01:00
5a64fc70dc Log messages fix with slave ip:port and id
Log messages fix with slave ip:port and id
2015-11-27 09:16:17 +01:00
f06eec13f6 Merge branch 'develop' into 1.2.1-binlog_router_trx 2015-11-17 09:50:25 +01:00
6b88b6b17f Merge branch 'develop' into MXS-329-develop-20151111 2015-11-13 07:48:59 +02:00
9ab5326960 Fix to MXS-438: https://mariadb.atlassian.net/browse/MXS-438
Maxinfo now supports the shutdown command which shuts down a service, monitor
or MaxScale itself and the restart command which restarts a stopped monitor
or service.
2015-11-11 18:59:39 +02:00
3ea55e3b50 Fix to MXS-437: https://mariadb.atlassian.net/browse/MXS-437
Maxinfo now allows users to flush logs and change the server status
through the MySQL interface.
2015-11-11 18:57:19 +02:00
30d1fc66b7 getCapabilities no longer takes arguments and returns an int. 2015-11-11 18:14:03 +02:00
00c506b029 Fix for rotate and catchup with transaction_safety = 1
Fix for rotate and catchup with transaction_safety = 1
2015-11-06 18:14:52 +01:00
c37b33c60e Merge branch '1.2.1-binlog_router_trx' into develop 2015-11-04 16:42:30 +01:00
d51ac7ab7d Disconnect slave when pos is UNSAFE
Disconnect slave when pos is UNSAFE instead of sending an error that
stops the replication
2015-11-04 16:24:46 +01:00
0accf869de Fix to MXS-365: https://mariadb.atlassian.net/browse/MXS-365 Added tracking of LOAD DATA LOCAL INFILE
While a LOAD DATA LOCAL INFILE query is being executed, all queries will be sent to the master
and they will not be processed as normal packets.
2015-11-04 12:47:55 +02:00
50b0a9b71b Code changes based on review of 1e8afe5063134b7c56492b3777ae1248b1587ba4 2015-11-03 12:16:22 +02:00
d5c38b93f6 Fix to MXS-431: https://mariadb.atlassian.net/browse/MXS-431
Replaced the use of the shared MySQLSession structure with an internal variable
that tracks the currently active database.
2015-11-03 12:16:22 +02:00
18c53bebf1 Fix to MXS-430: https://mariadb.atlassian.net/browse/MXS-430
Added caching of the hashtables used to map databases to servers.
2015-11-03 12:16:22 +02:00
7c582f91ea Merge branch 'develop' into 1.2.1-binlog_router_trx 2015-11-02 18:09:59 +02:00
c37e18e3d2 Moved included headers back to .c file 2015-10-28 15:07:50 +02:00
8d84deecc5 Updated schemarouter to use PCRE2 and moved includes to the header file. 2015-10-28 15:07:50 +02:00
3be5238bd7 Fixed indentation. 2015-10-23 15:05:51 +03:00
63f4bc3aec Changed from router->binlog_lock to router->lock for transaction safety code and cleaned up code. 2015-10-23 14:54:08 +03:00
40ffe21dd8 Added a variable for current event being processed after a transaction is committed. 2015-10-23 12:33:51 +03:00
75e8033052 Merge branch 'develop' into 1.2.1-binlog_router_trx 2015-10-19 09:36:04 +02:00
a576606f2b Updated schemarouter duplicate DB code based on code review. 2015-10-05 10:20:58 +03:00
af2bc91383 Cleaned up the clientReply function of the schemarouter. 2015-10-05 10:20:58 +03:00
bff6db96a1 Same database on more than one server now cause the schemarouter session to be closed. 2015-10-05 10:20:58 +03:00
d31e081e45 Changed log messages for blr_read_binlog, added slave send error feaure
Changed log messages for blr_read_binlog, added slave send error feaure.

When blr_read_binlog detects an error an error message with 1236 code
is sent to the slave and it will stop the replication to binlogrouter
2015-10-01 17:03:48 +02:00
e043d204b4 blr_send_custom_error with errno and state
blr_send_custom_error with errno and state
2015-09-30 15:59:48 +02:00
f9ee9ca028 Addition of send_slave_heartbeat option
Addition of send_slave_heartbeat option
2015-09-30 14:39:26 +02:00
4aa161d78e Merge branch 'develop' into 1.2.1-binlog_router_trx 2015-09-30 14:20:39 +02:00
96f76a1f2e Changed the way max_sescmd_history works and combined disable_sescmd_history and disable_slave_recovery.
Before these changes when max_sescmd_history was used the session
was closed when the limit was exceeded. With this change, when the
limit is exceeded the recovery of slaves and the session command history
are both disabled. This will allow the sessions to continue while still
keeping the old functionality of limited salve replacement.

The disable_sescmd_history and disable_slave_recovery parameters were combined
so that disabling the session command history will also disable slave recovery.
This way no harm can be done with disable_sescmd_history.
2015-09-29 12:03:22 +03:00
b6df52a68e Addition of slave heartbeat check
Addition of slave heartbeat check
2015-09-25 15:58:36 +02:00
db93d868f8 Removed previous conflict line
Removed previous conflict line
2015-09-10 14:58:09 +02:00
c9fd82839b Merge from develop
Merge from develop
2015-09-10 14:53:50 +02:00