Markus Mäkelä efd953c434 MXS-1929: Store service active state atomically
When a session is closed, it releases a reference on the service and
checks if it was the last session for a destroyed service. The state of
the service was loaded after the reference count was decremented.  This
behavior introduced a race condition where it was possible for a service
to be freed twice, first by the thread that marked the service as
destroyed and again by the last session for that service. By always
loading the service state before decrementing the reference count, we
avoid this race condition.

Currently, the memory ordering used for the reference counting is too
strict and could be relaxed. By default, all atomic operations use
sequentially consistent memory ordering. This guarantees correct behavior
but imposes a performance penalty. Incrementing the reference counts could
be done with a relaxed memory order as long as as we know the reference
we're incrementing is valid. Releasing a reference must use an
acquire-release order to guarantee the read-modify-write operation is
successful.
2018-07-31 09:41:12 +03:00
2018-03-06 15:58:21 +02:00
2018-06-25 10:07:52 +03:00
2018-07-27 14:59:49 +03:00
2018-06-12 09:45:06 +03:00
2018-07-11 14:08:56 +03:00
2018-06-25 10:07:52 +03:00
2018-06-25 10:07:52 +03:00
2018-06-25 10:07:52 +03:00
2017-05-29 21:50:29 +03:00
2018-06-25 10:07:52 +03:00
2018-06-25 10:07:52 +03:00
2018-07-07 09:27:34 +03:00
2017-06-20 10:45:02 +03:00
2018-04-24 10:18:19 +03:00
2018-07-05 09:44:13 +03:00

MaxScale by MariaDB Corporation

Build Status

The MariaDB Corporation MaxScale is an intelligent proxy that allows forwarding of database statements to one or more database servers using complex rules, a semantic understanding of the database statements and the roles of the various servers within the backend cluster of databases.

MaxScale is designed to provide load balancing and high availability functionality transparently to the applications. In addition it provides a highly scalable and flexible architecture, with plugin components to support different protocols and routing decisions.

For a detailed overview of what MaxScale can do, read the MaxScale page on the MariaDB website.

An Google Group exists for MaxScale that can be used to discuss ideas, issues and communicate with the MaxScale community.

We're also on the #maria and #maxscale channels on FreeNode.

Please report all feature requests, improvements and bugs in the MariaDB Jira.

Getting Started

Read the Documentation Overview for a list of all MaxScale documents.

Documentation

The official documentation can be found on the MariaDB Knowledge Base.

A MaxScale Troubleshooting Guide can be found on the MariaDB Knowledgebase. It answers common questions encountered when installing and using MaxScale.

The documentation can also be found in the Documentation directory of the source tree.

Contributing Code

Read the Contributing page on the wiki for more information on how to do pull request and where to do them.

Description
No description provided
Readme 118 MiB
Languages
C 50.9%
C++ 30.8%
Shell 3.7%
HTML 3.2%
Tcl 3.1%
Other 8.1%