[MXS-1539] Authentication data should be thread specific Created: 2017-11-23 Updated: 2018-01-04 Resolved: 2018-01-03 |
|
| Status: | Closed |
| Project: | MariaDB MaxScale |
| Component/s: | N/A |
| Affects Version/s: | 2.2.1 |
| Fix Version/s: | 2.2.2 |
| Type: | Bug | Priority: | Major |
| Reporter: | Johan Wikman | Assignee: | markus makela |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Sprint: | 2017-49 |
| Description |
|
Currently the authentication data is stored in a sqlite database that is opened in serialized mode. If clients connect and disconnect in rapid fashion this will cause contention between the worker threads, which will degrade the overall performance. Instead, each thread should maintain its own database of authentication data, so that the user authentication causes no cross-thread interaction. The data need not be persisted as the user data is anyway always refreshed when MaxScale starts. |
| Comments |
| Comment by markus makela [ 2017-12-13 ] |
|
Implemented in 2.2.1 for the MySQLAuth authenticator. |
| Comment by markus makela [ 2017-12-27 ] |
|
The authenticator data must be partitioned per thread for the remaining authenticators. |
| Comment by markus makela [ 2018-01-02 ] |
|
Added capability flags that allow a mix of synchronous and asynchronous authenticator modules. |