
If the startup of the listeners requires communication with all of the workers, the workers must be up and running for that to happen. Due to the fact that the main thread is still a worker thread, the initialization code is not extra straightforward. By queuing an event to the main worker, the startup of all listeners is done at a fully operational state with all workers fully functional. The service initialization code was also flawed in the sense that it would cause a deadlock if any of the threads would have to check for the user permissions. This is mainly a problem with the authenticator modules but the benefits of the per service pre-loading of users is most likely superficial. In theory startup will be faster as each thread now queries the users in parallel.
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.