Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
2.0.4
-
None
Description
There are high availability scenarios where there are more MaxScale instances and they are bound to VIPs, even the standby ones.
In such scenario the standby MaxScale instances can't bind to the VIP which is on the active node, so the listener retries to bind to the VIP periodically, which is good.
The anomaly is that the retry interval increases every time by 10 seconds, which doesn't seem to have any rationale behind.
The consequence is that after long time the standby MaxScale instance is basically unable to re-bind in due time in case of need.
The code part should be server/core/service.c:
432 else if (service->retry_start)
433
449 }
I think line 438 should just be:
438 int retry_after = MIN(10, SERVICE_MAX_RETRY_INTERVAL);
Where 10 = 10 seconds, or eventually a settable variable