-
Notifications
You must be signed in to change notification settings - Fork 149
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
Pxc 4469 sst clone #1961
base: 8.0
Are you sure you want to change the base?
Pxc 4469 sst clone #1961
Conversation
This version has a patch to go straight to ist so is not fully functional unless removing that bypass
SSL is NOT supported
bug. Wrong comma
fixing config missed wsrep allowed methods
fixing config missed wsrep allowed methods
fixing config missed wsrep allowed methods
…tcat is not running
I have a question... |
Need to ad extension or make script will not identify them correctly
…the user Some edit/cleanup as suggested by Kamil
@@ -1,7 +1,7 @@ | |||
--echo Performing State Transfer on a server that has been killed and restarted | |||
--echo while a DDL was in progress on it | |||
|
|||
--source include/have_debug.inc | |||
#source include/have_debug.inc |
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.
I think it will cause another tests to fail
[mysqld.2] | ||
wsrep_provider_options='[email protected].#galera_port;gcache.size=1;pc.ignore_sb=true' | ||
|
||
[sst] |
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.
MTR framework allows running tests in parallel. It allocates groups of ports dynamically for MTR workers.
We can't hardcode ports here. It will prevent MTR framework to run tests in parallel, like
./mtr galera_sst_clone{,,,,,} --parallel=2
Please check how 'mysqld.1.#sst_port' is handled for example
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.
Where @kamil-holubicki do you have a link to file or something?
[sst] | ||
netcat_port=4442 | ||
wsrep-debug=true | ||
clone_instance_port=4444 |
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.
I'm not sure we need clone_instance_port
parameter at all. Please see following comments in sst script for justification/reasoning.
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.
we do.
This may go through firewall in real life, and the use of port and ranges can be regulated. So better to keep the flexibility to define ports from the beginning.
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.
We already have a way to configure this port.
See my other comment about wsrep_sst_receive_address
WSREP_SST_OPT_PSWD="$2" | ||
shift | ||
;; | ||
'--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 parameter (and some other) is passed to SST script only in case of mysqldump_sst script. ([LINK](These parameters are passed only to the wsrep_sst_mysqldump state transfer script by both the sending and receiving nodes:)) I think we could remove them from clone-specific file
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.
true, this can be cleanup agreed.
|
||
|
||
|
||
GRANT ALTER, CREATE, SELECT, INSERT ON PERCONA_SCHEMA.xtrabackup_history TO 'mysql.pxc.sst.role'@localhost; |
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.
Why do we need this?
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.
No Idea it was there, not related to changes I have add.
@@ -1230,6 +1230,8 @@ int wsrep_remove_sst_user(bool initialize_thread) { | |||
nullptr, | |||
"SET SESSION lock_wait_timeout = 1;", | |||
nullptr, | |||
"REVOKE mysql.pxc.sst.role FROM 'mysql.pxc.sst.user'@'localhost';", |
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.
Why is this needed?
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.
We discuss this.
The correct way to remove the user when having a role, is to revoke the role and then drop the user.
Just dropping the user will work, but the role cleanup is delegated to MySQL, and as we have identified with mtr tests on very fast machines this looks like to be asynchronous.
So to avoid problems and to be on the safe side, we should operate following the right execution. Role first then drop user.
As we spoke today, we need to test it with encrypted tables and keyring component/plugin enabled |
Adding preview POC for the Clone method for SST.
The script is based on the one from codership but then need to refactor almost in full to have it working with PXC.
birdeye flow