Commit Graph

119 Commits

Author SHA1 Message Date
b768d3ca76 MXS-1356: Allow tee filter to be disabled at runtime
Disabling the tee filter at runtime is desirable for cases where the
branched service is not always needed. Migrations and pre-production
setups are one where changes to the branched service are expected and
splitting the queries would result in an error.
2017-08-11 04:09:08 +03:00
ebe9596966 MXS-1345: Allow an empty list of functions
The function type rule now accepts an empty list of functions, allowing
all functions to be blocked by defining an empty function type rule and
setting action=allow.
2017-08-10 09:51:31 +03:00
741c6d9aaf Documentation update for obfuscation method
Example changed to reflect new algorithm output
2017-07-18 11:18:32 +02:00
ac142a1b71 Documentation update with 'obfuscate' rule and 'match' option in 'replace' rule
Documentation update with 'obfuscate' rule and 'match' option in
'replace' rule
2017-07-17 12:16:43 +02:00
674b3887c9 MXS-1301: function matches functionless queries in accept mode
A function type rule matches a query if the query uses a function defined
in the rule. This is the desired behavior for blacklist mode operation
with `action=block`.

When in whitelist mode, all queries must match a rule to be allowed
through. For function type rules, this fact is problematic as queries that
don't use functions are blocked. The desired behavior is to allow the use
of certain functions while preventing the use of others.

The allowed set of functions should always contain the "empty set" (no
functions are used) when the filter is in whitelist mode.
2017-06-30 11:07:18 +03:00
77f44ba92b Add missing match/exclude functionality to tee
The tee filter was missing the match/exclude functionality that was in the
previous implementation. The filter was upgraded to use PCRE2 regular
expressions instead of POSIX regular expressions.

Documented that the match/exclude patterns should use PCRE2 syntax.
2017-06-22 10:39:24 +03:00
bff5e96b1a Query hint to influence Consistent Critical Read Filter
MXS-1067. The CCRFilter will now look at the hints in a write-type
query. The parameter-value combinations "ccr=match" and "ccr=ignore"
are recognized and will override any regex match and ignore settings.

For the hints to work, the HintFilter needs to be present in the filter
chain before the CCRFilter.

Also ran astyle and updated documentation.
2017-06-12 10:51:41 +03:00
476fda9082 Merge branch '2.1' into develop 2017-06-05 13:50:05 +03:00
2990edc424 Update MaskingFilter documentation 2017-06-05 13:47:39 +03:00
7fab3f5d1d MXS-1267: Use local client in tee
The tee filter now uses the local client class to clone the queries. This
imposes some restrictions on how the filter can be used but also makes
MaxScale as a whole more robust.
2017-06-02 13:07:02 +03:00
92b6caa334 Merge branch '2.1' into develop 2017-05-26 15:25:04 +03:00
dfb6fc02c7 Update dbfwfilter documentation
Added examples to each rule.
2017-05-25 09:39:46 +03:00
8a2112cce6 Remove trailing whitespace from documentation
Removed trailing whitespace from all documents.
2017-05-17 13:52:04 +03:00
322983a5f4 Merge branch '2.1' into develop 2017-05-17 13:48:52 +03:00
047ac55a40 minor docs fixes 2017-05-15 08:42:29 +03:00
b85b4010f2 docs typos fixing 2017-05-15 08:42:29 +03:00
9c12e78cce Remove trailing whitespace in tpmfilter documentation
The document had some leftover whitespace.
2017-05-09 20:51:35 +03:00
0ddc876567 Updated the documentation for TPM filter. 2017-05-09 16:33:41 +03:00
b971ad2cf5 Update masking documentation 2017-05-02 13:54:04 +03:00
deb11ae6eb Merge branch '2.1' into develop 2017-04-27 09:11:02 +03:00
f1efe72f66 Additional documentation cleanup for 2.1
Mostly just reflow text (=linebreaks) for better diffs. Some small changes.
Remove Debug-And-Diagnostic-Support.md.
2017-04-25 10:04:31 +03:00
e8dfccb4c8 2.1 doc esak (#127)
* Update MySQL-Replication-Read-Write-Splitting-Tutorial.md

* Update MySQL-Replication-Read-Write-Splitting-Tutorial.md

* Update MySQL-Replication-Read-Write-Splitting-Tutorial.md

* Update MySQL-Cluster-Setup.md

* Update Administration-Tutorial.md

* Update Administration-Tutorial.md

* Update Galera-Cluster-Connection-Routing-Tutorial.md

* Update CLI.md

* Update ReadWriteSplit.md

* Update Tee-Filter.md

* Update CCRFilter.md

* Update RabbitMQ-Filter.md

* Update Debug-And-Diagnostic-Support.md

* Update MaxBinlogCheck.md

* Update Configuration-Guide.md

* Update Module-Commands.md
2017-04-21 10:49:20 +03:00
695ba19965 Massimiliano pinto doc update 2.1 (#125)
* Update Nagios-Plugins.md

* Update MM-Monitor.md

* Update Nagios-Plugins.md

* Update Nagios-Plugins.md

* Update Galera-Cluster-Connection-Routing-Tutorial.md

* Update Galera-Cluster-Connection-Routing-Tutorial.md

* Update RabbitMQ-Setup-And-MaxScale-Integration.md

* Update MaxScale-Tutorial.md

* Update Cache.md

* Update Transaction-Performance-Monitoring-Filter.md

* Update RabbitMQ-Consumer-Client.md

* Update Building-MaxScale-from-Source-Code.md

* Update MariaDB-MaxScale-Installation-Guide.md

* Update Install-MariaDB-MaxScale-Using-a-Tarball.md

* Update RabbitMQ-Setup-And-MaxScale-Integration.md

* Update RabbitMQ-Consumer-Client.md
2017-04-20 13:36:13 +02:00
33b809eec1 Do not build storage_rocksdb by default 2017-04-20 13:12:46 +03:00
ad1c05b015 Merge branch '2.1' into develop 2017-04-05 11:35:13 +03:00
0c3f9ffa2e Maxrows: documentation update and use of MXS_MODULE_PARAM_SIZE for max_resultset_size parameter
max_resultset_size parameter now uses MXS_MODULE_PARAM_SIZE and
config_get_size

Documentation change follows the change.
2017-04-04 08:43:55 +02:00
1fb8cde5d8 NamedServerFilter: Add HINT_ROUTE_TO_ALL support
This was already supported by HintRouter. The tag for the MaxScale
config file is "->all". Also add note to Documentation and reformat
it a bit.
2017-04-04 09:40:04 +03:00
6ef90bf9b6 Add a warning about limit_queries and action=allow
The `limit_queries` rule should not be used in the `allow` mode.
2017-04-03 16:22:21 +03:00
d32a2e410b Use matched instead of blocked
As queries that match a rule aren't always blocked, it's more appropriate
to use `matched` instead of `blocked`.
2017-04-03 16:22:21 +03:00
108978fcd2 Format dbfwfilter documentation
Split lines that are longer than 80 characters.
2017-04-03 16:22:21 +03:00
657d79470c Update NamedServerFilter documentation
The document is now up to date with the rewrite. Also added an assert
to enforce a minimum number of allowed match-target pairs.
2017-04-03 09:49:12 +03:00
d4da5caf3b MXS-1211: MaxRows documentation update
MXS-1211: MaxRows documentation update
2017-04-03 08:39:12 +02:00
441b0204bf Update cache documentation 2017-03-22 11:04:48 +02:00
df09dd2043 Update Cache documentation 2017-03-21 10:35:30 +02:00
0393943b0e Update Cache documentation 2017-03-17 14:12:51 +02:00
ed06b6a331 The cache storage storage_inmemory is now the default 2017-03-17 13:45:55 +02:00
6db3cc380b Add cache parameter 'selects' 2017-03-17 09:06:27 +02:00
b7e29fb6f0 Add example use of match and ignore parameters
The CCRFilter documentation now has examples for both `match` and
`ignore`.
2017-03-15 09:11:18 +02:00
da5edadcda MXS-1150: Do not cache non-cachable functions
The resultset of SELECTs that use functions whose result will
always vary or whose result depend upon the user executing the
query should not be cached. The list of functions is the same
as that specified for the query cache of MariaDB:
https://mariadb.com/kb/en/mariadb/query-cache/
2017-03-02 13:13:31 +02:00
4902ed7cf5 MXS-1137: Do not cache when [user|system] vars are used
If user or system variables are used in a SELECT statement, then
the result will not be cached. That ensures that the wrong result
will not be returned.
2017-03-02 12:35:53 +02:00
82049b8ed1 Use cache as long as a trx only performes reads
As before, the cache will be used if there is no ongoing transaction
(includes autocommit being on), or if there is an explicitly read-
only transaction.

In addition, the cache will be used and populated during any other
transaction as long as only pure read statements are executed. After
first non-read statement, the use of the cache is disabled.
2017-03-01 11:08:52 +02:00
fdcc9333c8 MaxRows configuration example
MaxRows configuration example
2017-02-09 15:02:34 +02:00
ec238a168d Add example to CCRFilter documentation
The example has a filter configuration for a minimal setup. It also
describes how to tune the filter for greater performance.
2017-02-09 15:02:34 +02:00
0e037e4005 Add full masking example 2017-02-09 15:02:34 +02:00
ac0679a9d5 Update filter documentation
- Add note about filters having become available in 2.1.
- Add insertstream to release notes and change log.
- Add complete example to cache documentation.
2017-02-09 15:02:34 +02:00
d8e05436b1 Update Cache documentation 2017-02-03 12:43:44 +02:00
3a447607a7 Move inserstream into the core
The filter is a part of 2.1 so it should be in the core.

Added a note into the documentation about the experimental status.
2017-02-01 21:08:25 +02:00
e64a641bcd Merge branch '2.0' into develop 2017-02-01 09:35:13 +02:00
49bb63810e Cache: Add limitation 2017-01-31 08:30:11 +02:00
fdee329198 MXS-1111: Allow COM_PING and other commands to pass the firewall
The firewall filter should allow COM_PING and other similar commands to
pass through as they are mainly used to check the status of the backend
server or to display statistics. The COM_PROCESS_KILL is the exception as
it affects the state of the backend server. This is better controlled with
permissions in the server than in the firewall filter.

Commands that require special grants aren't allowed to pass as they are
mainly for maintenance purposes and these should not be done through the
firewall.
2017-01-30 19:16:33 +02:00