Commit Graph

7670 Commits

Author SHA1 Message Date
957b50c811 Remove trailing whitespace
Removed trailing whitespace in tests and build scripts.
2017-05-26 14:29:28 +03:00
5c512a3945 Fix atomic code for pre-4.7 GCC versions
The CAS operation used the wrong function and the atomic_store operations
compiled into inadequate assembly on x86 and ARMv7.
2017-05-26 09:57:01 +03:00
b6b108c8d5 MXS-1220: Fix possible crash on NULL option value
When a request option without a value is given, microhttpd exposes this as
key with a NULL value.
2017-05-26 08:52:38 +03:00
607bdf3a1b Remove RocksDB storage tests for cache filter
The RocksDB based storage library is no longer built so the test do not
need to be built either.
2017-05-26 08:52:38 +03:00
2724af60d8 Merge branch 'develop' into MXS-1266 2017-05-25 08:43:10 +02:00
61d67ee539 MXS-1220: Update build script dependencies
Removed libmicrohttpd dependency, added gnutls and gcrypt dependencies.
2017-05-24 16:21:35 +03:00
c98f8369f2 MXS-1220: Remove redundant parameter documentation
As all requests support the only parameter `pretty`, there's no point in
documenting it separately for each resource.
2017-05-24 16:21:34 +03:00
43386333b3 MXS-1220: Add monitor POST documentation
The POST documentation for creation monitors was missing.
2017-05-24 16:21:34 +03:00
0e5bbbd625 Update Configuration-Guide.md
Renamed `passwd` to `password`. Added an anchor for the old `passwd` name.
2017-05-24 16:21:26 +03:00
830e47bc8b MXS-1220: Update service resource documentation
Updated service resource documentation. Fixed a few minor typos also in
the server resource documentation.
2017-05-24 15:05:11 +03:00
9ccb54c107 MXS-1220: Update links in REST API documentation
Added missing v1 prefixes to links.
2017-05-24 15:05:11 +03:00
c54710cfaa MXS-1220: Update users resource documentation
Updated the users resource documentation.
2017-05-24 15:05:11 +03:00
6b8b19b439 MXS-1220: Add PUT support for /maxscale/ resource
The /maxscale/ resource now supports PUT requests which modify core
parameters. As not all parameters can be changed at runtime, only
modifications to parameters that support runtime configuration are
allowed.
2017-05-24 15:05:11 +03:00
3fd82ebae6 MXS-1220: Add alter maxscale MaxAdmin command
A set of the core MaxScale parameters can now be altered at runtime. This
set consists of the authentication timeouts and the admin interface
authentication. Other parameters either can't be modified due to internal
limitations or aren't sensible to modify at runtime.
2017-05-24 15:05:11 +03:00
69be4d263f MXS-1220: Add admin interface parameters to /maxscale/ resource
The admin interface parameters are now a part of the /maxscale/ resource.
2017-05-24 15:05:11 +03:00
e6f79953b9 Add missing dependencies to Travis builds
The gnutls and gcrypt packages were missing.
2017-05-24 15:05:11 +03:00
1067fd352c MXS-1220: Add creation and deletion of admin users
Admin users can now be created via the REST API. This allows remote
management of the administrative interface itself.
2017-05-24 15:05:11 +03:00
ead9059eeb MXS-1220: Add /users/ resource
The /users/ resource shows all user accounts that can be used with
MaxScale. This resource is further split into two resource collections,
/users/inet and /users/unix, which contain the network users and Linux
accounts respectively.
2017-05-24 15:05:10 +03:00
7fc2d25cf2 MXS-1220: Allow new REST API users to be created
The REST API now uses the same users as MaxAdmin network interface. This
allows them to be created with MaxAdmin.

The next step is to add user creation to the REST API.
2017-05-24 15:05:10 +03:00
db78eae9a8 MXS-1220: Use thread-local buffer for errors
The runtime error buffer is now a thread-local buffer. This fixes the
build failure on older systems where the compiler doesn't allow
thread-local non-POD objects to be created.

Also expanded some of the JSON validation functions so that they provide
better errors.
2017-05-24 15:05:10 +03:00
e3c4bd7f72 MXS-1220: Add more validation checks to request JSON
The requests that send a body should define at least a `data` member.

Added a simple test that checks that bad requests are rejected. This test
should be expanded to check that the returned error body contains the
correct members.
2017-05-24 15:05:10 +03:00
75e7ac35ed MXS-1220: Always build libmicrohttpd
This allows MaxScale to use the PATCH functionality that's only in the
newer versions of the library. It also removes some of the problems that
exist with older systems that don't support all of the options.
2017-05-24 15:05:10 +03:00
c653a2121d fix avro dir 2017-05-23 21:09:30 +03:00
4ab5db2cff fix avro build 2017-05-23 21:09:30 +03:00
fb439e0f4a add build and test scripts 2017-05-23 21:09:30 +03:00
82f18d1c7e install deps script cleanup 2017-05-23 21:09:30 +03:00
8c6ca38a8a add tests 2017-05-23 21:09:30 +03:00
f0bb2425aa MXS-1266: added SHOW BINARY LOGS
SHOW BINARY LOGS new query shows binary logs which have GTID saved in
gtid_maps

These feature requires the ‘mariadb10_slave_gtid’ option
2017-05-22 16:26:05 +02:00
362824579d MXS-1266: Standalone events in transaction (no COMMIT event) are now handled
Standalone events in transaction (no COMMIT event) are now handled:

the GTID is saved to gtid_maps storage.

Transaction detection assumes there is only one query_event after GTID
event with MARIADB_FL_STANDALONE flag set.
2017-05-19 11:43:43 +02:00
12c862a2c2 MXS-1266: saving GTID, part1: SQL statements review
Saving GTID: SQL statements review in  blr_load_last_mariadb_gtid and
blr_fetch_mariadb_gtid
2017-05-19 10:44:23 +02:00
6c86e1ef2f MXS-1266: saving GTID components into gtid_maps storage. part1
Saving GTID components into gtid_maps storage will allow to create a
hiearchical binlog cache dir.

Empty GTID  for master registration can be specified with SET
@@global.gtid_slave_pos = ‘’
2017-05-19 10:23:35 +02:00
dbfd631fed Change session registry to a template class
The template class wraps a HashMap such that only a few operations
are allowed. Usage requires specializing a RegistryTraits class
template for each entry type.
2017-05-19 10:16:37 +03:00
322983a5f4 Merge branch '2.1' into develop 2017-05-17 13:48:52 +03:00
3b8bda289e Update Resources-Session.md
Removed unimplemented features and updated response content.
2017-05-17 10:14:57 +03:00
f1c790db52 MXS-1220: Add logging priorities to logs resoure
The logging priorities can now be queried and altered.
2017-05-17 10:14:57 +03:00
05cb49d48a MXS-1220: Add error messages to bad request
Requests now contain a JSON API-conforming, human-readable error message.
2017-05-17 10:14:57 +03:00
ac29abd679 MXS-1220: Add support for X-HTTP-Method-Override
This header allows clients to override the request method to work around
client library limitations.
2017-05-17 10:14:57 +03:00
e01e4ee661 Update Resources-MaxScale.md
Updated the responses and added missing resources.
2017-05-17 10:14:56 +03:00
adbf537d80 MXS-1220: Add more information to the /maxscale/ resource
The /maxscale/ resource now has values for most of the configuration
parameters in the [maxscale] section as well as the version, commit and
uptime information.
2017-05-17 10:14:56 +03:00
551f635f50 MXS-1220: Make the http.hh header public
As it contains utility functions for formatting time_t values to HTTP-date
values, there's no real need to make it an internal header.
2017-05-17 10:14:56 +03:00
112977e011 Update Monitor-Common.md
Minor changes to wording.
2017-05-17 10:14:56 +03:00
3b9f7a74b6 Update Resources-Monitor.md
Updated monitor resource documentation with new response output.

Added links to standard monitor parameters that can be modified.
2017-05-17 10:14:56 +03:00
46b07861fe Update Monitor-Common.md
Added missing `user` and `password` documentation.
2017-05-17 10:14:56 +03:00
e7a6aec010 Update Resources-Filter.md
Updated filter resource documentation with up-to-date request output.
2017-05-17 10:14:56 +03:00
56cf06ee08 Don't use explicit struct initialization
Older GCC versions don't seem to support explicit struct member
initialization.
2017-05-16 11:39:57 +03:00
17ba824d9f Only close valid sessions
When a session is being closed, the state needs to be checked. If the
session creation failed, the session need to be only freed.
2017-05-16 11:39:57 +03:00
39ca791a49 Assign service pointer for cloned tee DCBs
When a cloned DCB is created, the service pointer is not copied and it
needs to be manually set in the newSession entry point. This most likely
due to the fact that the cloned DCB always has a different service and it
is not possible to deduce it.

Another option would be to pass the target service as a parameter but the
whole DCB cloning process could use with a rewrite so any modifications
beyond the required minimum are wasteful.
2017-05-15 19:32:02 +03:00
159c8bb5d1 Listen for only EPOLLIN events with listeners
The example in the epoll(7) manpage only sets the EPOLLIN event flag.

Although it is not explicitly stated that only EPOLLIN events arrive for
sockets that are listening, any other types of events should not be
relevant for listeners.
2017-05-15 19:32:02 +03:00
4117dcf410 Only store established connections in the pool
If a connection has not been fully established (i.e. authentication has
been completed) then it should not be considered as a connection pool
candidate.
2017-05-15 19:32:02 +03:00
2d7df3eb89 Merge branch 'develop' into MXS-1209 2017-05-15 10:39:07 +02:00