[MDEV-18777] Rename or alias slave-related statements, options, status variables Created: 2019-03-01 Updated: 2023-11-30 |
|
| Status: | Stalled |
| Project: | MariaDB Server |
| Component/s: | Replication |
| Fix Version/s: | None |
| Type: | New Feature | Priority: | Major |
| Reporter: | Geoff Montee (Inactive) | Assignee: | Sergei Golubchik |
| Resolution: | Unresolved | Votes: | 6 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
A US-based user has asked me whether we can rename or alias slave-related statements, options, status variables. I believe that discussions involving slaves can be uncomfortable for some people due to the history of slavery in the U.S. I have no idea how prevalent this feeling is, but I do know that several other software teams have done similar changes recently. For example: https://www.theregister.co.uk/2018/09/11/python_purges_master_and_slave_in_political_pogrom/ https://www.theregister.co.uk/2018/09/13/redis_master_slave/ https://github.com/antirez/redis/issues/5335 https://github.com/kubernetes/website/issues/6525 https://www.drupal.org/node/2275877 - replica If we did want to do this, then some potential replacements are:
|
| Comments |
| Comment by Thomas J. Girsch [ 2019-05-24 ] | ||||||
|
By way of comparison, both MongoDB and IBM Informix use primary/secondary nomenclature. Sybase uses primary/replicate. | ||||||
| Comment by Sujatha Sivakumar (Inactive) [ 2019-06-24 ] | ||||||
|
MDEV-18777: Rename or alias slave-related statements, options, status variables Please find the list of commands/options/variables, which make use of the word Commands used on Master: Before the new slave can begin replicating from the master, we need to create a CREATE USER 'repl'@'dbserver2' IDENTIFIED BY 'password'; The above grant privilege needs to be changed. "mysql.user" table has the following field which stores 'REPLICATION SLAVE' -----------------------
----------------------- "Upgrade script" will have to be modified to accommodate above change. 2) SHOW SLAVE HOSTS: This command is run on the master and displays a list of replication slaves that Commands used on Slave: START SLAVE, START SLAVE UNTIL,START ALL SLAVES: Start replication threads All the above commands are extensively used by monitoring tools, which check Tools: 1.1) MAX SCALE configuration parameters: 1.2) MaxScale Readconnroute: router=readconnroute The above 'slave' role needs to be renamed appropriately. 1.3) Mariadbmon: enforce_read_only_slaves 2) mariabackup: 2.1) slave-info: Prints the binary log position and the name of the master 2.2) safe-slave-backup: Stops slave SQL threads for backups. 2.3) safe-slave-backup-timeout=#: Defines the timeout for slave backups. All the above commands need to be renamed. All applications and scripts which make use of above commands have to be 3) Galera cluster replication uses following system variables: wsrep_restart_slave The above variables will have to be renamed. Replication System variables: init_slave Replication command line options: Semisynchronous Replication Options and System Variables: Please note that this is not the entire list of commands. I gathered them as per | ||||||
| Comment by Sujatha Sivakumar (Inactive) [ 2019-06-24 ] | ||||||
|
Since 'Slave' word is being used extensively current plan is to introduce a new alias named 'Replica'. | ||||||
| Comment by Andrei Elkin [ 2019-06-24 ] | ||||||
|
sujatha.sivakumar To renaming I suggest: s/master/primary/ and s/slave/replica/ . | ||||||
| Comment by Andrei Elkin [ 2019-06-24 ] | ||||||
|
To few uncalled yet objects which are going to be aliased, let's look at `mysql.gtid_slave_pos` table (actually tables, I wonder how a compromise like this would be rated by ralf.gebhardt@mariadb.com, GeoffMontee, serg as well. | ||||||
| Comment by Sujatha Sivakumar (Inactive) [ 2019-07-02 ] | ||||||
|
Suggestions provided by: serg Split the task into following steps. Implement one step at a time and publish the results. Based on demand Documentation team is working on finding the correct pair of words to use | ||||||
| Comment by Douglas Jacobsen [ 2020-06-11 ] | ||||||
|
Any chance this effort could be un-stalled? | ||||||
| Comment by Jacob Moorman (Inactive) [ 2020-06-11 ] | ||||||
|
Hi Douglas, Work is in-progress in several ways. First, MariaDB's Enterprise Documentation has shifted to prefer the terms "Primary" and "Replica". As this change did not require code or interface changes, it was a natural place to start. This was also carried forward in the MariaDB SkySQL DBaaS, our new cloud database offering, and its accompanying documentation. Work to integrate the change to MariaDB Server began in the MariaDB Server 10.5 series, where aliases have been added for all SQL statements that used the terminology. This work occurred via Far from stalled, work is continuing, and occurring in an incremental fashion to ensure existing interfaces are not broken while we shift to updated terminology. Thank you, Jacob Moorman | ||||||
| Comment by Douglas Jacobsen [ 2020-06-11 ] | ||||||
|
Great - I'm glad to hear - I did see that | ||||||
| Comment by Marek Grossman [ 2020-07-02 ] | ||||||
|
Go to hell with your politically correct speech. | ||||||
| Comment by Arnold [ 2020-07-07 ] | ||||||
|
This is insane, if both Oracle and MariaDB are going to change these innocent names I'm going to use something else or stop using it all together. Maybe even stop programming all together and become a truck driver or something. Why would you follow this nonsense trend? There's nothing racist about these words at all. Programming world taken over by SJW's very sad. | ||||||
| Comment by Hans Dampf [ 2021-11-26 ] | ||||||
|
Just stumbled upon this, is this some kind of joke? Or aprils fools that was getting out of control? | ||||||
| Comment by Kristian Nielsen [ 2023-07-25 ] | ||||||
|
We should not make any changes to mysql.gtid_slave_pos. This is a critical table, and it's already complex to handle it correctly for all possible upgrade scenarios etc. By extension, no non-user-facing names should be changed or aliases added. For example, needlessly changing server source code names will complicate merging and git history tracking. New names should be introduced by adding aliases. No existing names can be deprecated or removed, as that would create needless work for a huge number of users. My understanding is that this is being done to satisfy the wishes from users who dislike the word "slave" (how many users?). It's important to be respectful to all users, including those that have no dislike for one letter combination over another, but do have a dislike for extra technical complications and problems in their work. Please Cc: all patches regarding this to me (knielsen@knielsen-hq.org) so I can review them wrt. this. - Kristian. |