-
-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gtid tracking support #151
base: master
Are you sure you want to change the base?
Gtid tracking support #151
Conversation
Add a function to the parent provider that indicates if the installed version of ProxySQL has support for GTID tracking (2.0.1+). This allows providers to implement support for the 2.0.1+ schema changes without breaking backwards compatibility.
Add a new optional parameter to the proxy_mysql_server and proxy_mysql_server_no_hostgroup types called "gtid_port". In order to maintain backward compatibility, the associated providers ignore the parameter if the ProxySQL verison is too old to support GTID tracking, or if the proxysql_version fact is not set.
Dear @chris-brundage, thanks for the PR! This is Vox Pupuli Tasks, your friendly Vox Pupuli Github Bot. I noticed that your pull request has CI failures. Can you please have a look at the failing CI jobs? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After you fix the failing tests we'll need to implement a test to validate that things would not break on version 1.4.x and a test to validate that supplying a GTID-port value will actually change the configuration correctly...
@@ -57,6 +64,7 @@ def create | |||
_name = @resource[:name] | |||
hostname = @resource.value(:hostname) | |||
port = @resource.value(:port) || 3306 | |||
gtid_port = @resource.value(:gtid_port) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will need a default value to fix failing tests
@@ -57,6 +64,7 @@ def create | |||
_name = @resource[:name] | |||
hostname = @resource.value(:hostname) | |||
port = @resource.value(:port) || 3306 | |||
gtid_port = @resource.value(:gtid_port) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will need a default value to fix failing tests
Dear @chris-brundage, thanks for the PR! This is Vox Pupuli Tasks, your friendly Vox Pupuli GitHub Bot. I noticed that your pull request contains merge conflict. Can you please rebase? You can find my sourcecode at voxpupuli/vox-pupuli-tasks |
Pull Request (PR) description
ProxySQL 2.0.1+ includes a number of schema changes to support GTID tracking for casual consistency reads. The
proxy_mysql_server
andproxy_mysql_server_no_hostgroup
types currently are not aware of the newgtid_port
column in themysql_servers
table.This PR adds 1) a function to the Proxysql parent provider class that indicates if the installed ProxySQL version has GTID tracking support (
has_gtid_tracking?
), which is based off theproxysql_version
fact, and 2) support forgtid_port
onProxysql::Server
types.The changes are also backwards compatible. Older and unknown versions ignore the
gtid_port
parameter.This Pull Request (PR) fixes the following issues
n/a