[MXS-3793] Race condition in GCUpdater shutdown Created: 2021-09-28  Updated: 2021-09-30  Resolved: 2021-09-30

Status: Closed
Project: MariaDB MaxScale
Component/s: Core
Affects Version/s: 6.1.2
Fix Version/s: 6.2.0

Type: Bug Priority: Major
Reporter: Niclas Antti Assignee: markus makela
Resolution: Fixed Votes: 0
Labels: None

Sprint: MXS-SPRINT-141

 Description   

The test_filter test fails occasionally with a hang. The hang appears to be caused by the thread doing the updates not being in sync with the thread that starts it. Inspecting the hanging test with a debugger shows that the m_running variable was the probable culprit: if the thread that does the updates hasn't had the chance to start before a call to GCUpdater::stop() is made, the value of m_running would remain true even after the stop() call.

In theory this can happen with smartrouter in 2.5 if a service is created and then destroyed immediately. Given the unlikely nature of it, fixing the hang in 2.5 is not required.


Generated at Thu Feb 08 04:23:59 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.