Merge branch '2.2' into develop
This commit is contained in:
@ -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
|
characters per line. This limitation was increased to 16384 characters in
|
||||||
MaxScale 2.1.3.
|
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
|
## Security limitiations
|
||||||
|
|
||||||
### MariaDB 10.2
|
### MariaDB 10.2
|
||||||
|
@ -38,6 +38,7 @@ For more details, please refer to:
|
|||||||
the master. There is also limited capability for rejoining nodes.
|
the master. There is also limited capability for rejoining nodes.
|
||||||
|
|
||||||
For more details, please refer to:
|
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.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.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)
|
* [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);
|
ss_dassert(m_pWorker);
|
||||||
if (m_pWorker)
|
if (m_pWorker)
|
||||||
{
|
{
|
||||||
ssize_t n = write(m_write_fd, &message, 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));
|
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)
|
if (n == -1)
|
||||||
{
|
{
|
||||||
MXS_ERROR("Failed to write message: %d, %s", errno, mxs_strerror(errno));
|
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
|
else
|
||||||
|
@ -17,8 +17,8 @@ http://code.google.com/p/inih/
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MAX_SECTION 50
|
#define MAX_SECTION 1024
|
||||||
#define MAX_NAME 50
|
#define MAX_NAME 1024
|
||||||
|
|
||||||
/* Strip whitespace chars off end of given string, in place. Return s. */
|
/* Strip whitespace chars off end of given string, in place. Return s. */
|
||||||
static char* rstrip(char* s)
|
static char* rstrip(char* s)
|
||||||
|
Reference in New Issue
Block a user