[MXS-4685] Replication via binlogrouter temporarily blocks the REST-API Created: 2023-07-26 Updated: 2023-11-17 Resolved: 2023-08-10 |
|
| Status: | Closed |
| Project: | MariaDB MaxScale |
| Component/s: | binlogrouter |
| Affects Version/s: | 22.08.4 |
| Fix Version/s: | 22.08.8, 23.02.4 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Bryan Bancroft (Inactive) | Assignee: | markus makela |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | triage | ||
| Environment: |
skysql DR connecting to on-prem maxscale |
||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
When the slave thread starts maxscale hits high usage on a single node leading to very slow maxctrl returns. For this customer it leads to flapping on health checks. The slave thread connect appears to completely take a core on occasion or just spike high, why is this hitting a bottleneck for 1 connection?
|
| Comments |
| Comment by markus makela [ 2023-08-03 ] | |||||||||||
|
We'll need a way to reproduce this locally (example table and dataset, Maxscale configuraton etc.) or some profiling information on what is causing the slowness. | |||||||||||
| Comment by Bryan Bancroft (Inactive) [ 2023-08-08 ] | |||||||||||
|
markus makela This appears to have been a slight improvement but still lags on binlog replication start
| |||||||||||
| Comment by markus makela [ 2023-08-08 ] | |||||||||||
|
bbancroft please check the other commands as well, at least maxctrl show maxscale and maxctrl list filters. | |||||||||||
| Comment by markus makela [ 2023-08-10 ] | |||||||||||
|
The new code now seeks to the GTID position incrementally in the normal replication event processing code. The startup code only finds the file in which the GTID located which is very fast compared to finding the GTID position in the file. The overall performance of the seeking is also improved since the unnecessary tellg() calls were removed in the event handling code while also providing more granular scheduling of work on the worker threads. As a result, the binlogrouter no longer causes any issues with the REST-API while a server is initiating replication from the binlogrouter. |