In previous versions of MaxScale (specifically 2.3.12), the master stickiness feature worked by setting a priority using the use_priority option. When a server with priority 1 failed, the system would switch to the next server and apply stickiness to it. Currently, master stickiness is determined by wsrep_local_index, which does not meet our requirements. We request the addition of a configuration option to manage this behavior.
Steps to Reproduce:
Expected Behavior:
The system should allow the configuration of master stickiness behavior through a standard option, enabling the use of priorities as in version 2.3.12. This should be clearly documented and easily configurable.
Proposed Solution:
Additional Information:
In version 2.3.12, the master stickiness feature worked by setting a priority with use_priority. When the server with priority 1 failed, the system would switch and apply stickiness to the next server based on priority. This behavior should be reintroduced with a configurable option to manage the stickiness mechanism.
We have implemented a workaround by removing the wsrep_local_index check and adding priority-based checks in our setup. This fix was made in the file MaxScale/server/modules/monitor/galeramon/galeramon.cc with the following modification:
Rationale:
Providing a configuration option for master stickiness behavior based on server priority enhances flexibility and allows users to maintain desired operational behavior. This change aligns with best practices and meets specific use case requirements, thereby improving the overall reliability and usability of the MaxScale server management.