MassimilianoPinto
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
MassimilianoPinto
72c2a3ca18
Merge branch 'develop' into MXS-1075
2017-03-27 08:38:07 +02:00
Markus Mäkelä
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
Markus Mäkelä
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
MassimilianoPinto
9388dff7cf
Merge branch 'develop' into MXS-1075
2017-03-15 18:12:00 +01:00
MassimilianoPinto
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
Markus Mäkelä
147a1f88eb
Merge branch '2.1-ipv6' into develop
2017-03-13 13:18:08 +02:00
Markus Mäkelä
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
MassimilianoPinto
cb69b3cbca
Merge branch 'develop' into MXS-1075
2017-03-09 15:08:04 +01:00
Markus Mäkelä
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
MassimilianoPinto
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
MassimilianoPinto
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
MassimilianoPinto
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
MassimilianoPinto
656a38096c
Revert "MXS-1075: added blr_fetch_mariadb_gtid() routine"
...
This reverts commit b0afff73a1b9b1eacc617408d92d5117b7676f0e.
2017-03-08 08:57:59 +01:00
MassimilianoPinto
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
MassimilianoPinto
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
MassimilianoPinto
8bacc91153
Merge branch 'develop' into MXS-1075
2017-03-07 16:11:18 +01:00
Markus Mäkelä
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
MassimilianoPinto
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
MassimilianoPinto
0f9c169e7d
Merge branch 'develop' into MXS-1075
2017-03-06 08:57:51 +01:00
MassimilianoPinto
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
Johan Wikman
b3e8ea9b5a
Merge branch '2.1' into develop
2017-03-03 13:37:14 +02:00
MassimilianoPinto
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
Johan Wikman
7bcb60aaa6
MXS-1077: Add missing close
2017-03-01 10:47:20 +02:00
MassimilianoPinto
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
MassimilianoPinto
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
MassimilianoPinto
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
MassimilianoPinto
c926577a3c
Fix wrong value in debug message
...
Fix wrong value in debug message
2017-02-27 16:35:11 +01:00
Johan Wikman
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
Markus Mäkelä
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
MassimilianoPinto
6fd025376c
Missing NULL check
...
Missing NULL check added
2017-02-20 16:21:37 +01:00
MassimilianoPinto
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
MassimilianoPinto
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
MassimilianoPinto
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
Johan Wikman
71707c8505
Merge branch '2.1' into develop
2017-02-15 08:48:36 +02:00
Johan Wikman
49cc2b52e3
Merge branch '2.1.0' into 2.1
2017-02-15 08:44:55 +02:00
Johan Wikman
5648f708af
Update license to BSL 1.1
2017-02-14 21:42:28 +02:00
Johan Wikman
0838401b32
Merge branch '2.1' into develop
2017-02-14 17:54:27 +02:00
Johan Wikman
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
Adam Szkoda
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
Markus Mäkelä
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
MassimilianoPinto
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
Markus Mäkelä
e64a641bcd
Merge branch '2.0' into develop
2017-02-01 09:35:13 +02:00
MassimilianoPinto
e8c53e8aa5
Fix authenticator path in testbinlog.c
...
Added missing subdirectories in library path
2017-01-27 15:12:06 +01:00
Esa Korhonen
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
Esa Korhonen
8b83bf834e
Clean up router.h
...
Nothing moved to core, just rename and cleanup.
2017-01-26 16:14:17 +02:00
Esa Korhonen
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
Esa Korhonen
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
Esa Korhonen
6e38276a20
Rename files, removing "gw"-prefix
...
Also gwdirs.h.in -> paths.h.in
2017-01-20 12:55:52 +02:00
Johan Wikman
8aa76727d2
Remove explicit long indicator of size defines
2017-01-19 10:42:05 +02:00