
When a single GWBUF was split into two with gwbuf_split, the new GWBUF would point to the start of the shared data and the old one to the end. Data-wise, this is fine but as the parsing info for queries is stored in the shared buffer it causes problems when multiple packets get read in one network payload. The end result would be that only the first query in the lot would get parsed and the rest would get the same classification as the first one. To properly fix this without the need to deep clone the buffer would require a reorganization of the buffer mechanism in MaxScale. This commit alone doesn't fix the queued query routing problems in readwritesplit. The commit from 2.2 which fixes the ordering problems with queued queries is also required for a fully functional queued query mechanism.
MaxScale by MariaDB Corporation
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.