509a5c6ed3
Fix error handling for binlogrouter
...
The binlogrouter error handling closed the DCB twice. This was caused by
the change in the way the DCB error handling is done.
The protocol modules now also call the error handling routine even if the
router session is NULL. This enables the binlogrouter to manage
authentication failures correctly instead of trying to reconnect again.
2017-03-31 14:11:46 +03:00
d8c048e47d
MXS-1075: GTID slave request cleanup
...
GTID slave request routine cleanup and general cleanup as well
2017-03-29 09:28:52 +02:00
a236b14eef
MXS-1075: Sqlite db for GTID - file, pos mapping
...
Use sqlite3 database instead of hash tables for GTID - file, pos mapping
2017-03-28 10:23:09 +02:00
72c2a3ca18
Merge branch 'develop' into MXS-1075
2017-03-27 08:38:07 +02:00
039f6e3487
Take static module capabilities into use
...
The static module capabilities are now used to query the capabilities of
filters and routers. The new RCAP_TYPE_NOAUTH capability is also taken
into use. These changes removes the need for the `is_internal_service`
function.
2017-03-20 11:10:08 +02:00
1736aca7f7
Add module level static capabilities
...
The static capabilities declared in getCapabilities allows certain
capabilities to be queried before instances are created. The intended use
of this capability is to remove the need for the `is_internal_service`
function.
2017-03-20 11:10:08 +02:00
9388dff7cf
Merge branch 'develop' into MXS-1075
2017-03-15 18:12:00 +01:00
573615889b
Binlog Server doesn't ask for any maxwell query if the option is not set
...
If ‘maxwell-compatibility’ option is not set, no SET/SELECT are sent to
master during slave registration phase
2017-03-14 09:28:04 +01:00
147a1f88eb
Merge branch '2.1-ipv6' into develop
2017-03-13 13:18:08 +02:00
37dd561470
Add support for IPv6
...
Both the listeners and servers now support IPv6 addresses.
The namedserverfilter does not yet use the new structures and needs to be
fixed in a following commit.
2017-03-13 10:45:55 +02:00
cb69b3cbca
Merge branch 'develop' into MXS-1075
2017-03-09 15:08:04 +01:00
e1a1959bc2
Replace strerror_r with mxs_strerror
...
The mxs_strerror function requires no local buffer, thus making it simpler
and cleaner to use.
2017-03-09 09:36:57 +02:00
c1dc0e6f73
MXS-1075: simplify blr_slave_query: handle SELECT stmts
...
First simplification of blr_slave_query: SELECT stmts are handled by
blr_handle_select_smt()
2017-03-08 17:23:39 +01:00
4b472d9a13
MXS-1075: file field added to MARIADB_GTID_INFO
...
MXS-1075: missing field added to MARIADB_GTID_INFO
2017-03-08 09:29:21 +01:00
670150c1c9
MXS-1075: added blr_fetch_mariadb_gtid() routine
...
Added generic blr_fetch_mariadb_gtid() routine
inst->binlog_name is now stored into MARIADB_GTID_INFO struct. (it was
missing)
2017-03-08 09:06:10 +01:00
656a38096c
Revert "MXS-1075: added blr_fetch_mariadb_gtid() routine"
...
This reverts commit b0afff73a1b9b1eacc617408d92d5117b7676f0e.
2017-03-08 08:57:59 +01:00
e8161bbb08
MXS-1075: MARIADB_GTID_INFO struct is fully copied
...
Binlog file in MARIADB_GTID_INFO is now duplicated
2017-03-08 08:57:43 +01:00
b0afff73a1
MXS-1075: added blr_fetch_mariadb_gtid() routine
...
Added generic blr_fetch_mariadb_gtid() routine
inst->binlog_name is now stored into MARIADB_GTID_INFO struct. (it was
missing)
2017-03-08 08:51:19 +01:00
8bacc91153
Merge branch 'develop' into MXS-1075
2017-03-07 16:11:18 +01:00
f18a40ce73
Remove redundant error handling code from routers
...
The routers no longer need to track the number of errors each DCB
receives. This is now done by the protocol modules.
The type of the DCB no longer needs to be checked in the handleError
implementation as the function is only called when a backend DCB fails.
2017-03-07 11:12:56 +02:00
5ea049cffc
MXS-1075: MariaDB 10 slave connecting with GTID
...
A MariaDB 10 slave connects to binlog server with GTID request
2017-03-06 14:41:24 +01:00
0f9c169e7d
Merge branch 'develop' into MXS-1075
2017-03-06 08:57:51 +01:00
4e8bf1106b
MXS-1075: MariaDB 10 Slave registration with GTID
...
New SQL commands are handled for MariaDB 10 slave registration with GTID
2017-03-06 08:56:26 +01:00
b3e8ea9b5a
Merge branch '2.1' into develop
2017-03-03 13:37:14 +02:00
1061344de9
MXS-1075: save all received MariaDB GTIds
...
The GTID saving, which will allow slave to connect with GTID, is done
only with transaction_safety = on
2017-03-02 13:07:21 +01:00
7bcb60aaa6
MXS-1077: Add missing close
2017-03-01 10:47:20 +02:00
b24ac12601
MXS-1075: spinlock_release was in the wrong place
...
MXS-1075: spinlock_release was in the wrong place
2017-02-28 15:36:12 +01:00
304b5ced29
MXS-1075: MariaDB 10 GTID stored and shown only for transaction safety on
...
MariaDB 10 GTID is detected and stored only if transaction_safety
option is on.
SELECT @@gtid_current_pos and “maxadmin show service $service_name” can
return it
2017-02-28 15:19:57 +01:00
054ddcb3dd
MXS-1075: pending_transaction struct added
...
New pending_transaction added and master_transaction_t values are now
used in all files
2017-02-28 13:50:38 +01:00
c926577a3c
Fix wrong value in debug message
...
Fix wrong value in debug message
2017-02-27 16:35:11 +01:00
560bd1e507
Update MXS_ROUTER_OBJECT APIs
...
Now the type MXS_ROUTER_SESSION is used in MXS_ROUTER_OBJECT.
All routers updated accordingly.
2017-02-27 10:17:57 +02:00
68f99ae305
Remove unused DCB callback code
...
The highwater and lowwater callbacks were never registered for the client
DCBs in the binlogrouter.
The DCB hangup callbacks were never called by the core and were replaced
with fake hangup events in an earlier version.
2017-02-27 09:25:15 +02:00
6fd025376c
Missing NULL check
...
Missing NULL check added
2017-02-20 16:21:37 +01:00
446f65a9cf
MXS-1142: maxbinlogcheck to remove transaction from binlog
...
maxbinlogcheck with new -T $pos option can find the BEGIN of
transaction where $pos belongs to and then replace all events in
between with IGNORABLE events
2017-02-16 17:33:27 +01:00
755a3601ec
MXS-1141: maxbinlogcheck to replace an event with ignorable event
...
maxbinlogcheck utility can replace an event at pos with an ignorable
event
New option is -R, —replace
-R $pos
The -R needs -f as file will be modified
2017-02-16 12:23:26 +01:00
a0b599730c
Detect and store MariaDB GTID
...
If Binlog Server is running with MariaDB 10 compatibility then the
found GTID is stored in router->mariadb_gtid
2017-02-15 08:29:38 +01:00
71707c8505
Merge branch '2.1' into develop
2017-02-15 08:48:36 +02:00
49cc2b52e3
Merge branch '2.1.0' into 2.1
2017-02-15 08:44:55 +02:00
5648f708af
Update license to BSL 1.1
2017-02-14 21:42:28 +02:00
0838401b32
Merge branch '2.1' into develop
2017-02-14 17:54:27 +02:00
2a49cd6451
getCapabilities now get the instance as argument
...
Allows the capabilities to be different depending on how the
filter/router has been configured.
2017-02-14 13:55:22 +02:00
825782799f
Zendesk's Maxwell Compatibility ( #119 )
...
* Binlog router: Introduce maxwell_compatibility flag
* Binlog router: Handle 'server vars' query
This is a step towards using MaxScale with Zendesk's Maxwell.
* Binlog router: Handle results charset query
* Binlog router: Handle sql_mode query
* Binlog router: Handle server_id query
* Binlog router: Handle 'binlog vars' queries
* Binlog router: Handle @@lower_case_table_names query
* Binlog router: Handle @@global.binlog_checksum query
* Binlog router: DRY Maxwell SQL queries
2017-02-13 16:40:01 +01:00
acd66b4eb3
Fix compiler warnings
...
Added missing checks for return values of various function calls. Fixed
binlogrouter strerror_r usage and wrong buffer sizes.
2017-02-13 11:44:38 +02:00
d25d0e9c4e
Don't request and set UUID if the master server is MariaDB 10
...
SHOW VARIABLES LIKE 'SERVER_UUID' and SET @slave_uuid are meant only
for MySQL 5.6/7 master registration.
If MariaDB 10 compatibility is set then skip these useless requests.
2017-02-10 10:33:40 +01:00
e64a641bcd
Merge branch '2.0' into develop
2017-02-01 09:35:13 +02:00
e8c53e8aa5
Fix authenticator path in testbinlog.c
...
Added missing subdirectories in library path
2017-01-27 15:12:06 +01:00
1f9b18e3bc
Split secrets.h to public and core + miscellaneous cleanup
...
Also, changed some function names to this_style from thisStyle. More of
this in later commits.
2017-01-27 15:33:52 +02:00
8b83bf834e
Clean up router.h
...
Nothing moved to core, just rename and cleanup.
2017-01-26 16:14:17 +02:00
74225daf46
Remove memlog and rdtsc
...
Neither of these were actively used, so they and any associated tests
were removed.
2017-01-26 13:16:51 +02:00
7d51864402
Clean config.h some more
...
Moved some typedefs to router.h and server.h, changed a few
constants to these enums. Renamed some types in config.h to
remove "Gateway".
There are still some functions in the public header which are
only used in core, but they seem to fit the theme of public functions
so were not moved.
2017-01-25 16:05:51 +02:00