Commit Graph

3243 Commits

Author SHA1 Message Date
2fb9e99549 Add missing license blurbs
Some file were missing the license blurb at the top of the file.
2016-10-07 09:33:17 +03:00
9b2209a8d1 Log only one warning when failover is initiated
Mysqlmon would log a warning at every monitoring interval when failover
was initiated.
2016-10-06 16:53:37 +03:00
56f0edb247 Cache: Add possibility to parse rules from string
To be used in test program.
2016-10-06 14:58:42 +03:00
81fa8c6c0c Assign master status immediately to the replacement master
As the failover status check is done after the pending status has been
moved to the current status, the do_failover should set the current status
of the server as Master.
2016-10-06 14:30:02 +03:00
1cc687a8c0 Merge branch 'binlog_server_wait_data' into binlog_server_waitdata_encryption 2016-10-05 18:25:43 +02:00
3957d8561e Merge branch 'develop' into binlog_server_wait_data 2016-10-05 18:25:15 +02:00
4c82dd5032 Code review update
Code review update
2016-10-05 18:11:13 +02:00
e54c40ca7b Merge branch 'pull-102' into develop 2016-10-05 10:00:09 +03:00
d8f09ab4d4 Encryption context is passed to blr_read_binlog()
Encryption context has been removed from BLFILE struct and is now
passed to blr_read_binlog()
2016-10-04 17:32:06 +02:00
e5b34e30ae Code review update
Code review update
2016-10-04 09:20:03 +02:00
fbf5c331f1 Merge branch '2.0.1' into develop 2016-10-03 15:21:04 +03:00
dcc38b44a9 The first_enc_event_pos was not set in one case
The first_enc_event_pos was not set in one case
2016-10-03 11:41:57 +02:00
d9bcf6a775 Binlog files have 15 bytes of header XORed with IV
Events saved and read have 15 bytes of header XORed with IV.

Partial events are still not handled.

Next implementation will encrypt the whole event instead of 15 bytes XOR
2016-10-03 09:39:22 +02:00
6e69c783f3 Merge branch 'binlog_server_wait_data' into binlog_server_waitdata_encryption 2016-09-30 11:52:48 +02:00
3b95139fdd Merge branch 'develop' into binlog_server_wait_data 2016-09-30 11:52:09 +02:00
b42231e5d4 storage_rocksdb: Clearer error when db in use 2016-09-30 12:45:02 +03:00
45073ebd73 cache: Pick out default db when connecting with database 2016-09-30 11:32:38 +03:00
4658a28965 Fix out of bounds read in avro_client_process_command
When the last transaction was queried, it caused an out of bounds read
when strstr was used on the raw data of a GWBUF.
2016-09-29 15:28:57 +03:00
dcf55d4099 Fix possible out of bounds read in CDCPlainAuth
When the authentication string was decoded from hexadecimal to binary, it
was possible that an out of bounds read was done if the length of the data
was not an even number.
2016-09-29 14:57:44 +03:00
087338910e storage_rocksdb: Store version to database
The storage_rocksdb version is now stored to the database. That will
ensure that should the format (key content, length, etc.) change, we
can will detect whether a database is too old and take action.
2016-09-29 14:06:23 +03:00
b9c956dda9 cache: Include the databases in the key
The databases targeted by a query are now included in the key.
That way, two identical queries targeting a different default
database will not clash.
Further, it will mean that queries targeting the same databases
are stored near each other, which is good for the performance.
2016-09-29 11:28:01 +03:00
7732070546 cache: Add 'use' rules handling
Currently onyl the user name is matched, eventually it should
probably be possible to indicate the network as well, or only
the network.
2016-09-29 11:26:12 +03:00
0478c3cc83 cache: Add table and query matching 2016-09-28 19:38:11 +03:00
7f24f12cfc cache: Update documentation and add rule handling
The concept of 'allowed_references' was removed from the
documentation and the code. Now that COM_INIT_DB is tracked,
we will always know what the default database is and hence
we can create a cache key that distinguises between identical
queries targeting different default database (that is not
implemented yet in this change).

The rules for the cache is expressed using a JSON object.
There are two decisions to be made; when to store data to the
cache and when to use data from the cache. The latter is
obviously dependent on the former.

In this change, the 'store' handling is implemented; 'use'
handling will be in a subsequent change.
2016-09-28 19:38:11 +03:00
20b57b1577 cache: Remove default db only is use db succeeds 2016-09-28 19:38:11 +03:00
2ae4fb7745 Add missing comment blocks. 2016-09-28 09:33:28 +01:00
8f233d32cf Always update state of bref behind lock 2016-09-28 09:29:56 +03:00
c919511ba7 Implement simple failover mode into mysqlmon
The mysqlmon simple failover mode allows it to direct write traffic to a
secondary node. This enables a very simple failover mode with MaxScale
when it is used in a two node master-slave setup.
2016-09-26 11:00:16 +03:00
ad86b16fa2 Encryption context code review update
Encryption context code review update
2016-09-26 09:54:57 +02:00
997fe6b90b Add a fail-safe for active operation counters
If a backend is not in use but it is waiting for a result, the state
should anyways be cleared to keep the operation counters correct.
2016-09-26 09:29:44 +03:00
a4aa03a1fb cache: Explicitly handle COM_INIT_DB
With this change, the cache will be aware of which default database
is being used. That will remove the need for the cache parameter
'allowed_references' and thus make the cache easier to configure
and manage.
2016-09-23 19:06:14 +03:00
56d345e833 Encryption Context and Encryption Setup have been added
Encryption Context and Encryption Setup structures have been added to
ROUTER_INSTANCE

Replication doesn’t start if binlog file has START_ENCRYPTION_EVENT but
router_option ‘encrypt_binlog’ is Off
2016-09-23 17:58:33 +02:00
b969b68562 Merge branch 'binlog_server_wait_data' into binlog_server_waitdata_encryption 2016-09-23 16:37:22 +02:00
8cb4c79c59 Merge branch 'develop' into binlog_server_wait_data 2016-09-23 16:36:50 +02:00
e618370cdb MXS-875: Fix regexfilter matching
The return values of pcre2_match are now properly handled. A positive
match is a return value which is greater than or equal to zero. This fix
should give a small performance boost to as memory is no longer needlessly
allocated.
2016-09-23 14:43:03 +03:00
23c0e2795c START_ENCRYPTION_EVENT in maxbinlogcheck review
START_ENCRYPTION_EVENT in maxbinlogcheck  review
2016-09-22 13:38:07 +02:00
ac43580ce8 cache: storage_args renamed to storage_options 2016-09-22 14:22:45 +03:00
b6efb81fa8 maxbinlogcheck detects START_ENCRYPTION_EVENT
maxbinlogcheck now detects the START_ENCRYPTION_EVENT found in MariaDB
binlog file and in the maxscale binlog
2016-09-22 11:00:42 +02:00
d9238afe58 Code review for Start_encryption_event
Code review for Start_encryption_event.
blr_read_events_all_events() uses new added defines and new comments
added as well
2016-09-21 16:55:17 +02:00
eaf43ca92d Merge branch '2.0' into develop-2.0-merge 2016-09-21 14:59:30 +03:00
578f21e757 MXS-874: Clear closed state before reconnecting to a server
The backend reference states should be cleared when a reconnection attempt
is made. Should the creation of a new DCB succeed, the backend should no
longer be closed.
2016-09-21 11:15:57 +03:00
ca9021b835 Merge branch '2.0' into develop 2016-09-21 02:51:27 +03:00
62ab834e8a Remove unused variables from readwritesplit
There were some unused variables in readwritesplit that caused builds to
fail.
2016-09-20 21:04:10 +03:00
dfec3c8552 Install maxbinlogcheck in the right place
Maxbinlogcheck was installed in the wrong place.
2016-09-20 16:32:21 +03:00
923761159f Move MXS-807 refactor read-write split into develop. 2016-09-20 11:55:02 +01:00
3992135325 Move authentication return codes to gw_authenticator.h
The MYSQL_* authentication return codes are now in gw_authenticator.h so
that all authenticators can use them. Also dropped the MYSQL_ prefix from
the return codes and added AUTH_INCOMPLETE for a generic
authentication-in-progress return code.
2016-09-20 11:44:17 +03:00
b1b2e5b770 Don't free the shared shard maps
When client sessions are closed, the shared shard maps should not be freed.
2016-09-20 11:33:09 +03:00
0ab4f04d7b Add authentication plugin name to authenticator API
The authenticators can now declare the authentication plugin name. Right
now this is only relevant for MySQL authentication but for example the
HTTP module could implement both Basic and Digest authentication.
2016-09-20 11:31:13 +03:00
4d1eb6fe85 cache: Process response to COM_QUERY
When a query has been sent to a backend, the response is now
processed to the extent that the cache is capable of figuring
out how many rows are being returned, so that the cache setting
`max_resultset_rows` can be processed.

The code is now also written in such a manner that it should be
insensitive to how a package has been split up into a chain of
GWBUFs.
2016-09-20 10:41:02 +03:00
7e2a21de9e Cache: Assume we need to handle one packet at a time 2016-09-20 10:41:02 +03:00