Skip to content
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

[WIP] Cluster improvements #3305

Merged
merged 48 commits into from
Jan 22, 2022
Merged

[WIP] Cluster improvements #3305

merged 48 commits into from
Jan 22, 2022

Conversation

renecannao
Copy link
Contributor

No description provided.

ProxySQL will now automatically generate a UUID during start up.
The UUID can be either passed through the command line using -U or --uuid,
or saved on disk in a new table named global_settings.
The new table is used to distinguish it from global_variables that is replicated.
Table global_settings isn't replicated by Cluster.

If UUID is not present, it is automatically generated and saved.
@renecannao
Copy link
Contributor Author

retest this please

@renecannao
Copy link
Contributor Author

uuid-dev on Ubuntu/Debian (and equivalent on Centos) needs to be installed in build dockers

@renecannao
Copy link
Contributor Author

retest this please

3 core nodes
6 satellite nodes
When a cluster node (client) connects to another cluster node, it
advertises its UUID but also exports its `admin-mysql_ifaces` .
The receiving cluster can use this information to try to guess how
to connect to the node that initialized the connection, for example
to collect metrics.
This is visible in table `stats_proxysql_servers_clients_status` .
@renecannao
Copy link
Contributor Author

retest this please

@renecannao renecannao changed the base branch from v2.1.1 to v2.x June 29, 2021 08:39
@renecannao
Copy link
Contributor Author

retest this please

@renecannao renecannao changed the title [WIP] Cluster improvements. This is likely to go into 2.1.2 [WIP] Cluster improvements Jun 29, 2021
@renecannao
Copy link
Contributor Author

retest this please

1 similar comment
@renecannao
Copy link
Contributor Author

retest this please

@renecannao
Copy link
Contributor Author

retest this please

1 similar comment
@renecannao
Copy link
Contributor Author

retest this please

@renecannao
Copy link
Contributor Author

retest this please

1 similar comment
@renecannao
Copy link
Contributor Author

retest this please

@renecannao
Copy link
Contributor Author

retest this please

Query_Processor::get_current_query_rules_fast_routing_count() now allows to
quickly execute this query is ran on Admin:
SELECT COUNT(*) FROM runtime_mysql_query_rules_fast_routing
@renecannao
Copy link
Contributor Author

retest this please

@renecannao
Copy link
Contributor Author

retest this please

2 similar comments
@renecannao
Copy link
Contributor Author

retest this please

@renecannao
Copy link
Contributor Author

retest this please

@renecannao
Copy link
Contributor Author

retest this please

1 similar comment
@renecannao
Copy link
Contributor Author

retest this please

…mysql servers tables are going to be written.

Before this commit we were calling GloAdmin->mysql_servers_wrlock() at the
beginning of the synchronization.
This was not ideal as we should call GloAdmin->mysql_servers_wrlock() only
if we are really going to write the tables. In other words, only if the
resultsets are fetched from the remote peer, and if their checksums didn't
change in the meantime.
@renecannao renecannao merged commit ae80989 into v2.x Jan 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant