Commit Graph

6951 Commits

Author SHA1 Message Date
3a3b31ebb4 NullFilter capabilities are now instance specific
There can now in one configuration be multiple Null filters,
each with its own set of capabilities.
2017-02-14 13:55:50 +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
f7cc548093 Format mysql_binlog.c
The lines were too long.
2017-02-13 16:23:26 +02:00
7a35ec71da Fix DECIMAL conversion
The DECIMAL type was not correctly converted to positive integers. The
0x80 bit was set only for negative numbers when it needed to be XOR-ed for
all values.
2017-02-13 16:23:26 +02:00
16ddefc686 Remove DECIMAL from avrorouter limitations
The router can now handle DECIMAL types.

Backported to the 2.0 branch.
2017-02-13 16:23:26 +02:00
f9732d7041 Fix DECIMAL handling in Avrorouter
The DECIMAL value type is now properly handled in Avrorouter. It is
processed into an Avro double value when before it was ignored and
replaced with a zero integer.

Backported to the 2.0 branch.
2017-02-13 16:23:26 +02:00
4bd743d3ce Use correct Avro function
The avrorouter used the 32-bit function to store 64-bit integers. This
caused incorrect values to be stored.
2017-02-13 16:23:26 +02:00
65caaab77b Fix maxavro block verification errors
An error was logged when the end of file was reached. The error should
only be logged when a partial sync marker is read and the end of file has
not been reached.
2017-02-13 16:23:26 +02:00
0b892c9714 Add missing newline to avrorouter output
The schema was not terminated with a newline.
2017-02-13 16:23:22 +02:00
10e74225c0 Add missing error detection
If the file fails to seek to the correct position, the indexing should
stop.
2017-02-13 16:18:43 +02:00
7e23789364 Fix one last compilation error
Fix one ignored return value in Avro, caused compilation to fail.
2017-02-13 14:46:43 +02: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
eb1e163bdf Only update index file if file is flushed to disk
There's no point in indexing the file if it hasn't been synced to
disk. Any attempts to index the file will fail if the file still has an
open data block.
2017-02-12 04:38:24 +02:00
cf63e4cb9e Remove false debug assertion
If MaxScale is started without the appropriate permissions to the paths
pointed by default values, the debug assertion fails even though the
parameter is valid but not usable.
2017-02-10 18:49:22 +02:00
d2c3be8728 Fix compiler flag usage
The compiler flags overwrote the default values that CMake generates
instead of appending to them.
2017-02-10 17:19:46 +02:00
04b2475553 Fix random_jkiss initialization
The initialization function used another function which expected
initialization to be done.
2017-02-10 14:17:54 +02:00
0200a353a1 Add more filter API documentation
The member functions are now documentated. The routeQuery and clientReply
entry points should be documented in more detail.
2017-02-10 13:49:18 +02:00
a2727ea7e0 Generate documentation from the public headers
The Doxygen documentation is generated from the public headers. This
should make it easier to read for module developers.
2017-02-10 13:33:51 +02:00
334e71b079 Initialize random number generator in main
The random number generator can be initialized when MaxScale's other
systems are being initialized. This removes the need to initialized it
when the function is used for the first time.
2017-02-10 13:02:39 +02:00
fb21b99983 Fix DATE and DATETIME months
The month values for DATE and DATETIME were off by one.
2017-02-09 16:50:14 +02:00
47a1cdad5d Fix binlog integer conversion
The binlog integers were stored as unsigned values instead of signed ones.
2017-02-09 16:01:03 +02:00
fdcc9333c8 MaxRows configuration example
MaxRows configuration example
2017-02-09 15:02:34 +02:00
d76be99cc5 Improve error message
A parameter may be wrong because the parameter name is wrong or
the value of the parameter is wrong. That needs to be reflected in
the error message.
2017-02-09 15:02:34 +02:00
8ef9781d61 Add Upgrading to 2.1 document
The document lists important changes that should be noted when MaxScale is
upgraded from 2.0 to 2.1.
2017-02-09 15:02:34 +02:00
fbe7885ecb Add changes to router_options to release notes
Added a section to the release notes that tells the fact that the
readwritesplit, schemarouter and binlogrouter now also accept the values
of router_options as parameters.
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
b46bc47c87 Add NullFilter filter module
NullFilter is a filter module that does nothing, except reports
capabilities as defined in the configuration file. It's purpose
is only to make it simple to benchmark the performance impact
various routing capabilities have.

Note that since getCapabilities() currently does *not* take an
instance pointer as parameter, all NullFilter instances will
report the same capabilities, the ones specified for the last
filter to have been loaded.
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
526e48e459 Fix floats being read as doubles
The avro floating point numbers were processed as 8 byte values when they
are 4 bytes values.
2017-02-09 15:00:19 +02:00
fcbf3e6208 MaxRows configuration example
MaxRows configuration example
2017-02-08 14:49:01 +01:00
507f27b6ad Add Upgrading to 2.1 document
The document lists important changes that should be noted when MaxScale is
upgraded from 2.0 to 2.1.
2017-02-08 15:36:52 +02:00
ae39262dd5 Add changes to router_options to release notes
Added a section to the release notes that tells the fact that the
readwritesplit, schemarouter and binlogrouter now also accept the values
of router_options as parameters.
2017-02-08 15:36:52 +02:00
25c5e9ec9e 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-08 15:36:52 +02:00
ce5cd69eb3 Remove unused locks and variables
Removed unused spinlocks from DCBs, sessions and the MySQL protocol
structs. They were used in a context where only one thread has access to
the structure.

Removed unused member variables from DCBs.
2017-02-08 15:31:17 +02:00
517ecd9a12 Remove unnecessary spinlocks from random_jkiss
Removing the locks will increase the randomness of the random number
generation by introducing race conditions into the code.
2017-02-08 14:39:16 +02:00
1f9365f29b Add full masking example 2017-02-08 14:36:54 +02:00
a58498c9bf 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-08 14:36:54 +02:00
a6698c6f07 Merge branch '2.1.0' into 2.1 2017-02-08 09:30:34 +02:00
c82831cc10 Fix merge conflict
An old define name caused the build to fail.
2017-02-08 09:29:26 +02:00
67888f3596 Merge branch '2.0' into 2.1.0 2017-02-08 09:27:00 +02:00
4f7b2b545e Remove documentation for monitor parameter
The use of monitors in services isn't complete but this was not in the
documentation. A more complete solution should be done at a later date and
the current documentation should be removed.
2017-02-08 09:00:53 +02:00
7035af30c3 Update ChangeLog 2017-02-07 13:43:39 +02:00
877551e4c1 MaxScale-2.1.0-Release-Notes update
MaxScale-2.1.0-Release-Notes update
2017-02-07 13:43:39 +02:00
b0cf8c6e38 Update ChangeLog 2017-02-07 13:43:02 +02:00
147ffcce02 MaxScale-2.1.0-Release-Notes update
MaxScale-2.1.0-Release-Notes update
2017-02-07 12:38:14 +01:00
7149775163 Use correct enum values in avrorouter
The file flushing enums weren't used.
2017-02-07 10:21:58 +02:00
d61f0d0afd Remove useless debug assertion
The debug assertion assumes that the table definition is always in the
binlogs. If a binlog row event without a table definition is read, debug
versions would crash even though the situation is acceptable and expected.
2017-02-07 10:21:58 +02:00
906a42d9a8 Use dcb_foreach inside dcb.c
All DCB listing code should use dcb_foreach to list them.
2017-02-07 10:21:58 +02:00
2bceb1128d Update ChangeLog and Release Notes 2017-02-07 09:40:15 +02:00