aeebf941f6
Merge branch '2.3' into develop
2019-06-19 13:28:58 +03:00
3d8475f8ed
Merge branch '2.2' into 2.3
2019-06-19 12:37:23 +03:00
7470a58a32
Fix release mode build failures
...
Fixed mxb_assert_message and one dcb_printf failure.
2019-06-12 12:15:47 +03:00
6166da76ea
Add arguments to mxb_assert_message
...
The macro can now be used to print runtime information in a printf-like
manner. This makes it easier to see exactly why an assertion has failed.
2019-06-11 21:30:45 +03:00
4efa9dbeea
Remove maxscale/alloc.h
...
The remaining contents were moved to maxbase/alloc.h.
2019-06-10 14:11:25 +03:00
bed28db3fd
Merge branch '2.3' into develop
2019-05-24 13:55:47 +03:00
de95fcc9d6
Format rest of the sources
2019-05-10 10:31:12 +03:00
0d13e694e4
Merge branch '2.3' into develop
2019-05-10 09:28:39 +03:00
37bfe1cd67
Never exceed persistent connection limits
...
By doing the persistent connection count incrementation with CAS, value
can be guaranteed to never exceed the configured limit.
2019-05-10 09:11:39 +03:00
e3b5ba9620
MXS-1973 Support reverse DNS for client hostnames in MaxCtrl
...
May slow maxscale down when used. Only supported for "list sessions",
"show sessions" and "show session <id>".
2019-05-08 15:04:44 +03:00
5ab0876a5f
MXS-2468 Allow an http::Async object to be reset
2019-05-03 14:57:41 +03:00
d498f1042c
MXS-2467 Allow 0-delay delayed calls
...
A 0-delay delayed call simply means that it will be invoked as
quickly as possible.
2019-05-03 13:54:42 +03:00
dc244342f8
Prevent assignments in assertions
...
Using the else branch instead of explicitly negating the assertion makes
sure the compiler catches assignments in assertion expressions.
2019-04-26 11:40:30 +03:00
e331b7f432
Add a generic to_string() function.
2019-04-24 12:39:58 +03:00
8b7b7b4d3f
Add a streamable class (Host) that represents an address and port,
...
or a unix domain socket.
2019-04-24 12:38:04 +03:00
74634abc80
MXS-1662 Move PAM authentication function into maxbase
...
The same code can be used for REST-API authentication.
2019-04-09 14:41:40 +03:00
cc1b8b2d56
Use std::begin and std::end
...
This makes it clear that they are standard functions.
2019-04-02 14:21:54 +03:00
ac0a3d1d47
Extend string helper functions
...
Moved mxs::strtok into mxb namespace and added mxb::join for joining
objects into strings.
2019-03-28 13:21:23 +02:00
d40e29d5f6
A little houskeeping.
...
Increasing counter sizes from int to long for averages.
Rename random functions to end with _co instead of _exclusive to
indicate range [close, open[, and to allow future suffixes oc, cc and oo.
2019-03-27 13:15:14 +02:00
1858fe9127
MXS-2271 Monitor modifications always go through Monitor::configure()
...
Previously, runtime monitor modifications could directly alter monitor fields,
which could leave the text-form parameters and reality out-of-sync. Also,
the configure-function was not called for the entire monitor-object, only the
module-implementation.
Now, all modifications go through the overridden configure-function, which calls the
base-class function. As most configuration changes are given in text-form, this
removes the need for specific setters. The only exceptions are the server add/remove
operations, which must modify the text-form serverlist.
2019-03-12 10:19:45 +02:00
72d02d33c0
MXS-2314 Remove unnecessary worker states
...
The removed states were not used for anything useful.
2019-02-11 13:03:18 +02:00
968743f61a
Fix compiler errors related to unused results
2019-02-01 12:31:53 +02:00
b18467e17e
Add direct mode to Worker::execute()
...
Sometimes that's what you want, but primarily for completeness'
sake and it makes AUTO more sensical as it essentially chooses
beteen DIRECT and QUEUED mode.
2019-01-31 10:04:55 +02:00
a9fd9c92e2
MXS-2219 Add iterator adapter
...
Iterator adapter for making it possible to iterate over an
intrusive singly linked list in an STL fashion.
2019-01-17 11:11:21 +02:00
9823fe2651
MXS-2247 Add support for random number generation to maxutils
...
Classes for xorshift and std random. Add a random number generator to Worker.
2019-01-10 16:51:32 +02:00
910777efbc
MXS-2208 Address review comments
...
Also report errors in more detailed manner.
2018-12-18 15:16:45 +02:00
3eca3ff7dc
MXS-2208 Add init/finish functions for mxb::http
...
Init/finish needed, as curl otherwise will leak memory.
2018-12-18 15:16:45 +02:00
847f53b21b
MXS-2208 Introduce asynchronous GET
...
A multi HTTP GET can now be performed so that the caller
drives the polling of results.
This can now be used so that inside a monitor worker, the delays
are handled using delayed calls. Consequently, the monitor worker
event loop can remain responsive even though the Clustrix nodes
are being polled.
2018-12-18 15:16:45 +02:00
1d338f3c4a
MXS-2208 Add synchronous multi GET
...
Now possible to GET multiple URLs in one go. Behind the scenes
the getting is done asynchronously and in parallell.
2018-12-18 15:16:45 +02:00
1b5b789342
MXS-2208 Move trim-functions from maxscale to maxbase
...
log.h now includes string.hh, which is conceptually wrong, but
log.h will shortly disappear and be superceded by log.hh.
2018-12-10 12:50:07 +02:00
8d77ddec63
MXS-2208 Add simple Http library
...
- Built on top of Curl
- Currently only GET
2018-12-05 12:48:42 +02:00
760f2ff34c
Move alloc.cc to maxbase
...
Only renames the functions. Macro names are left as is to keep the diff
small.
2018-12-03 10:20:45 +02:00
a1e1ac0012
Move string_printf to maxbase
...
Can be used in tests.
2018-11-29 12:21:40 +02:00
e371964f8b
MXS-2057 Add log output for system test, and two random code fixes
2018-11-14 16:20:42 +02:00
ae1a062a58
MXS-2160 Use CLOCK_MONOTONIC_COARSE
...
We measure time in milliseconds and as CLOCK_MONOTONIC_COARSE
provides 1ms granularity we should use that since it is cheaper.
2018-11-13 16:44:30 +02:00
c692c864e2
MXS-2078 Take new statistics into use
2018-11-08 10:44:32 +02:00
13a0390de6
MXS-2078 Add IntervalTimer
...
IntervalTimer is used for accumulating intervals (i.e. durations) over sections of code.
2018-11-08 10:44:32 +02:00
6dc038aa4e
MXS-2137 Remove meaningsless statistics
...
The removed statistics variables have no meaning anymore and
were not updated.
Decided to simply drop the variable from the JSON output. It
gets far too rigid if fields of objects cannot be changed without
bumping the REST-API version.
2018-11-06 09:49:25 +02:00
7d03bee648
Add type formatting helpers
...
Created the <maxbase/format.hh> header that contains various helper
functions for formatting values into human readable forms. Currently only
binary to human readable size conversion is implemented.
2018-10-19 11:20:29 +03:00
75f9921ca2
Merge branch '2.2' into develop
2018-10-02 10:18:09 +03:00
c65edd1298
Enhance StopWatch
...
Clean up, comments and enhancements. StopWatch lap() didn't mean lap-time, but elapsed time. Changed meaning to lap-time and added split() for split-time.
2018-10-01 09:30:24 +03:00
5132339b7b
Fix race condition.
...
Change a counter (s_next_delayed_call_id) in Worker from class static to
class member to avoid race conditions on the variable.
2018-09-25 17:07:06 +03:00
6d82de811f
Relax Average value access memory ordering
...
As there are no requirements with regards to the visibility of writes to
the Average, the access can be relaxed.
2018-09-24 12:07:50 +03:00
a94081067f
Move Average into average.hh
...
Moved the class to a more appropriate place.
2018-09-24 12:07:49 +03:00
5ed3667f4a
Document average.hh
...
Add documentation for the average classes.
2018-09-24 12:07:49 +03:00
4d792c3410
MXS-1632: Add C++ wrappers for __atomic builtins
...
Using the __atomic functions makes it easy to increment fundamental types
atomically without converting them to std::atomic<T>.
2018-09-18 15:21:54 +03:00
9b0f016aba
Fix minor formatting oversights
...
Code that was not formatted was merged into develop unformatted.
2018-09-12 08:58:15 +03:00
6938df0d62
Use default member initializers in WORKER_STATISTICS
...
Makes the class simpler and removes the need for an explicit
constructor. Also switched to std::array to enable easy iteration over the
array.
2018-09-10 14:15:10 +03:00
94a567f4ca
Remove redundant Worker method
...
The Worker::get_local_statistics was a duplicate of Worker::statistics.
2018-09-10 14:14:21 +03:00
d11c78ad80
Format all sources with Uncrustify
...
Formatted all sources and manually tuned some files to make the code look
neater.
2018-09-10 13:22:49 +03:00