Merge branch '2.2' into develop
This commit is contained in:
commit
6945e82b3f
@ -10,6 +10,10 @@ In versions 2.1.2 and earlier, the configuration files are limited to 1024
|
||||
characters per line. This limitation was increased to 16384 characters in
|
||||
MaxScale 2.1.3.
|
||||
|
||||
In versions 2.2.12 and earlier, the section names in the configuration files
|
||||
were limited to 49 characters. This limitation was increased to 1023 characters
|
||||
in MaxScale 2.2.13.
|
||||
|
||||
## Security limitiations
|
||||
|
||||
### MariaDB 10.2
|
||||
|
@ -38,6 +38,7 @@ For more details, please refer to:
|
||||
the master. There is also limited capability for rejoining nodes.
|
||||
|
||||
For more details, please refer to:
|
||||
* [MariaDB MaxScale 2.2.13 Release Notes](Release-Notes/MaxScale-2.2.13-Release-Notes.md)
|
||||
* [MariaDB MaxScale 2.2.12 Release Notes](Release-Notes/MaxScale-2.2.12-Release-Notes.md)
|
||||
* [MariaDB MaxScale 2.2.11 Release Notes](Release-Notes/MaxScale-2.2.11-Release-Notes.md)
|
||||
* [MariaDB MaxScale 2.2.10 Release Notes](Release-Notes/MaxScale-2.2.10-Release-Notes.md)
|
||||
|
35
Documentation/Release-Notes/MaxScale-2.2.13-Release-Notes.md
Normal file
35
Documentation/Release-Notes/MaxScale-2.2.13-Release-Notes.md
Normal file
@ -0,0 +1,35 @@
|
||||
# MariaDB MaxScale 2.2.13 Release Notes -- 2018-08
|
||||
|
||||
Release 2.2.13 is a GA release.
|
||||
|
||||
This document describes the changes in release 2.2.13, when compared to
|
||||
release 2.2.12.
|
||||
|
||||
For any problems you encounter, please consider submitting a bug
|
||||
report on [our Jira](https://jira.mariadb.org/projects/MXS).
|
||||
|
||||
## Bug fixes
|
||||
|
||||
* [MXS-1997](https://jira.mariadb.org/browse/MXS-1997) Object names are limited to 49 characters
|
||||
* [MXS-1983](https://jira.mariadb.org/browse/MXS-1983) Failed to add dcb to epoll set
|
||||
* [MXS-1961](https://jira.mariadb.org/browse/MXS-1961) Standalone master loses master status
|
||||
|
||||
## Known Issues and Limitations
|
||||
|
||||
There are some limitations and known issues within this version of MaxScale.
|
||||
For more information, please refer to the [Limitations](../About/Limitations.md) document.
|
||||
|
||||
## Packaging
|
||||
|
||||
RPM and Debian packages are provided for supported the Linux distributions.
|
||||
|
||||
Packages can be downloaded [here](https://mariadb.com/downloads/mariadb-tx/maxscale).
|
||||
|
||||
## Source Code
|
||||
|
||||
The source code of MaxScale is tagged at GitHub with a tag, which is identical
|
||||
with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale
|
||||
is `maxscale-X.Y.Z`. Further, the default branch is always the latest GA version
|
||||
of MaxScale.
|
||||
|
||||
The source code is available [here](https://github.com/mariadb-corporation/MaxScale).
|
@ -175,12 +175,57 @@ bool MessageQueue::post(const Message& message) const
|
||||
ss_dassert(m_pWorker);
|
||||
if (m_pWorker)
|
||||
{
|
||||
ssize_t n = write(m_write_fd, &message, sizeof(message));
|
||||
rv = (n == sizeof(message));
|
||||
/**
|
||||
* This is a stopgap measure to solve MXS-1983 that causes Resource temporarily
|
||||
* unavailable errors. The errors are caused by the pipe buffer being too small to
|
||||
* hold all worker messages. By retrying a limited number of times before giving
|
||||
* up, the success rate for posted messages under heavy load increases
|
||||
* significantly.
|
||||
*/
|
||||
int fast = 0;
|
||||
int slow = 0;
|
||||
const int fast_size = 100;
|
||||
const int slow_limit = 3;
|
||||
ssize_t n;
|
||||
|
||||
while (true)
|
||||
{
|
||||
n = write(m_write_fd, &message, sizeof(message));
|
||||
rv = (n == sizeof(message));
|
||||
|
||||
if (n == -1 && (errno == EAGAIN || errno == EWOULDBLOCK))
|
||||
{
|
||||
if (++fast > fast_size)
|
||||
{
|
||||
fast = 0;
|
||||
|
||||
if (++slow >= slow_limit)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
sched_yield()
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (n == -1)
|
||||
{
|
||||
MXS_ERROR("Failed to write message: %d, %s", errno, mxs_strerror(errno));
|
||||
|
||||
static bool warn_pipe_buffer_size = true;
|
||||
|
||||
if ((errno == EAGAIN || errno == EWOULDBLOCK) && warn_pipe_buffer_size)
|
||||
{
|
||||
MXS_ERROR("Consider increasing pipe buffer size (sysctl fs.pipe-max-size)");
|
||||
warn_pipe_buffer_size = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -17,8 +17,8 @@ http://code.google.com/p/inih/
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#define MAX_SECTION 50
|
||||
#define MAX_NAME 50
|
||||
#define MAX_SECTION 1024
|
||||
#define MAX_NAME 1024
|
||||
|
||||
/* Strip whitespace chars off end of given string, in place. Return s. */
|
||||
static char* rstrip(char* s)
|
||||
|
Loading…
x
Reference in New Issue
Block a user