War story
Removing offensive language
from Percona Toolkit
Sveta Smirnova
Percona
March 27, 2025
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 1 / 22
Percona Toolkit in Past
Maatkit, Aspersa by Baron Schwartz
Percona Toolkit
▶ Baron Schwartz
2008-2016 Daniel Nichter
-2016 Frank Cizmich
2016-2022 Carlos Salguero
2022- Sveta Smirnova
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 2 / 22
Percona Toolkit Today
pt-align
pt-archiver
pt-config-diff
pt-deadlock-logger
pt-diskstats
pt-duplicate-key-checker
pt-eustack-resolver
pt-fifo-split
pt-find
pt-fingerprint
pt-fk-error-logger
pt-galera-log-explainer
pt-heartbeat
pt-index-usage
pt-ioprofile
pt-k8s-debug-collector
pt-kill
pt-mext
pt-mongodb-index-check
pt-mongodb-query-digest
pt-mongodb-summary
pt-mysql-summary
pt-online-schema-change
pt-pg-summary
pt-pmp
pt-query-digest
pt-replica-find
pt-replica-restart
pt-secure-collect
pt-show-grants
pt-sift
pt-slave-delay
pt-slave-find
pt-slave-restart
pt-stalk
pt-summary
pt-table-checksum
pt-table-sync
pt-table-usage
pt-upgrade
pt-variable-advisor
pt-visual-explain
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 3 / 22
Percona Toolkit Today: The Most Popular Customer Tools
pt-align
pt-archiver
pt-config-diff
pt-deadlock-logger
pt-diskstats
pt-duplicate-key-checker
pt-eustack-resolver
pt-fifo-split
pt-find
pt-fingerprint
pt-fk-error-logger
pt-galera-log-explainer
pt-heartbeat
pt-index-usage
pt-ioprofile
pt-k8s-debug-collector
pt-kill
pt-mext
pt-mongodb-index-check
pt-mongodb-query-digest
pt-mongodb-summary
pt-mysql-summary
pt-online-schema-change
pt-pg-summary
pt-pmp
pt-query-digest
pt-replica-find
pt-replica-restart
pt-secure-collect
pt-show-grants
pt-sift
pt-slave-delay
pt-slave-find
pt-slave-restart
pt-stalk
pt-summary
pt-table-checksum
pt-table-sync
pt-table-usage
pt-upgrade
pt-variable-advisor
pt-visual-explain
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 4 / 22
Percona Toolkit Today: Part of Other Percona Products
pt-align
pt-archiver
pt-config-diff
pt-deadlock-logger
pt-diskstats
pt-duplicate-key-checker
pt-eustack-resolver
pt-fifo-split
pt-find
pt-fingerprint
pt-fk-error-logger
pt-galera-log-explainer
pt-heartbeat
pt-index-usage
pt-ioprofile
pt-k8s-debug-collector
pt-kill
pt-mext
pt-mongodb-index-check
pt-mongodb-query-digest
pt-mongodb-summary
pt-mysql-summary
pt-online-schema-change
pt-pg-summary
pt-pmp
pt-query-digest
pt-replica-find
pt-replica-restart
pt-secure-collect
pt-show-grants
pt-sift
pt-slave-delay
pt-slave-find
pt-slave-restart
pt-stalk
pt-summary
pt-table-checksum
pt-table-sync
pt-table-usage
pt-upgrade
pt-variable-advisor
pt-visual-explain
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 5 / 22
Percona Toolkit Today: The Most Popular Support Tools
pt-align
pt-archiver
pt-config-diff
pt-deadlock-logger
pt-diskstats
pt-duplicate-key-checker
pt-eustack-resolver
pt-fifo-split
pt-find
pt-fingerprint
pt-fk-error-logger
pt-galera-log-explainer
pt-heartbeat
pt-index-usage
pt-ioprofile
pt-k8s-debug-collector
pt-kill
pt-mext
pt-mongodb-index-check
pt-mongodb-query-digest
pt-mongodb-summary
pt-mysql-summary
pt-online-schema-change
pt-pg-summary
pt-pmp
pt-query-digest
pt-replica-find
pt-replica-restart
pt-secure-collect
pt-show-grants
pt-sift
pt-slave-delay
pt-slave-find
pt-slave-restart
pt-stalk
pt-summary
pt-table-checksum
pt-table-sync
pt-table-usage
pt-upgrade
pt-variable-advisor
pt-visual-explain
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 6 / 22
Percona Toolkit Today: Helper Tools
pt-align
pt-archiver
pt-config-diff
pt-deadlock-logger
pt-diskstats
pt-duplicate-key-checker
pt-eustack-resolver
pt-fifo-split
pt-find
pt-fingerprint
pt-fk-error-logger
pt-galera-log-explainer
pt-heartbeat
pt-index-usage
pt-ioprofile
pt-k8s-debug-collector
pt-kill
pt-mext
pt-mongodb-index-check
pt-mongodb-query-digest
pt-mongodb-summary
pt-mysql-summary
pt-online-schema-change
pt-pg-summary
pt-pmp
pt-query-digest
pt-replica-find
pt-replica-restart
pt-secure-collect
pt-show-grants
pt-sift
pt-slave-delay
pt-slave-find
pt-slave-restart
pt-stalk
pt-summary
pt-table-checksum
pt-table-sync
pt-table-usage
pt-upgrade
pt-variable-advisor
pt-visual-explain
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 7 / 22
Percona Toolkit Today: Written in Perl, Bash, and Go
pt-align
pt-archiver
pt-config-diff
pt-deadlock-logger
pt-diskstats
pt-duplicate-key-checker
pt-eustack-resolver
pt-fifo-split
pt-find
pt-fingerprint
pt-fk-error-logger
pt-galera-log-explainer
pt-heartbeat
pt-index-usage
pt-ioprofile
pt-k8s-debug-collector
pt-kill
pt-mext
pt-mongodb-index-check
pt-mongodb-query-digest
pt-mongodb-summary
pt-mysql-summary
pt-online-schema-change
pt-pg-summary
pt-pmp
pt-query-digest
pt-replica-find
pt-replica-restart
pt-secure-collect
pt-show-grants
pt-sift
pt-slave-delay
pt-slave-find
pt-slave-restart
pt-stalk
pt-summary
pt-table-checksum
pt-table-sync
pt-table-usage
pt-upgrade
pt-variable-advisor
pt-visual-explain
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 8 / 22
Percona Toolkit Today: Tools that Work Directly with MySQL
pt-align
✓ pt-archiver
✓ pt-config-diff
✓ pt-deadlock-logger
pt-diskstats
✓ pt-duplicate-key-checker
pt-eustack-resolver
pt-fifo-split
✓ pt-find
pt-fingerprint
✓ pt-fk-error-logger
pt-galera-log-explainer
✓ pt-heartbeat
✓ pt-index-usage
pt-ioprofile
pt-k8s-debug-collector
✓ pt-kill
pt-mext
pt-mongodb-index-check
pt-mongodb-query-digest
pt-mongodb-summary
✓ pt-mysql-summary
✓ pt-online-schema-change
pt-pg-summary
pt-pmp
✓ pt-query-digest
✓ pt-replica-find
✓ pt-replica-restart
pt-secure-collect
✓ pt-show-grants
pt-sift
✓ pt-slave-delay
✓ pt-slave-find
✓ pt-slave-restart
✓ pt-stalk
pt-summary
✓ pt-table-checksum
✓ pt-table-sync
✓ pt-table-usage
✓ pt-upgrade
✓ pt-variable-advisor
✓ pt-visual-explain
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 9 / 22
MySQL 8.4 New and Legacy Syntax
Legacy Syntax New Syntax First Introduced
SHOW SLAVE HOSTS SHOW REPLICAS 8.0.23
CHANGE MASTER CHANGE REPLICATION SOURCE 8.0.23
SHOW MASTER STATUS SHOW BINARY LOG STATUS 8.1
RESET MASTER RESET BINARY LOGS[ AND GTIDS] 8.1
SLAVE in other commands REPLICA 8.0.23, 8.1
MASTER in other commands SOURCE 8.0.23, 8.1
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 10 / 22
MySQL 8.4 Legacy Left Overs
Privileges
▶ REPLICATION SLAVE
Tables in mysql schema
▶ slave master info
▶ slave relay log info
▶ slave worker info
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 11 / 22
Solution 1: sed
Easy to implement:
sed ’s/master/source/g’ *
sed ’s/slave/replica/g’ *
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 12 / 22
Solution 1: sed
Easy to implement:
sed ’s/master/source/g’ *
sed ’s/slave/replica/g’ *
We have to support old versions
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 12 / 22
Solution 1: sed
Easy to implement:
sed ’s/master/source/g’ *
sed ’s/slave/replica/g’ *
We have to support old versions
Rejected!
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 12 / 22
Complicated solution
Syntax, depending on version
Split at MySQL 8.1
Queries to MariaDB use old syntax
▶ May change in the future
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 13 / 22
Percona Toolkit Code Layout
/
bin/
pt-align
pt-archiver
...
lib/
Advisor.pm
AdvisorRules.pm
bash/
alt_cmds.sh
collect_mysql_info.sh
...
BinaryLogParser.pm
...
...
src/
go/
pt-galera-log-explainer
pt-k8s-debug-collector
...
sandbox/
t/
lib
pt-align
pt-archiver
...
Changelog
...
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 14 / 22
Starting the Change
Tests first
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 15 / 22
Starting the Change
Tests first
Libraries code
▶ Perl
▶ Bash
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 15 / 22
Starting the Change
Tests first
Libraries code
▶ Perl
▶ Bash
Added use VersionParser into tests
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 15 / 22
Starting the Change
Tests first
Libraries code
▶ Perl
▶ Bash
Added use VersionParser into tests
Tools one-by-one
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 15 / 22
SSL Support
Percona Toolkit does not have full SSL support
MySQL 8.4 does not∗ run without SSL
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 16 / 22
SSL Support
Percona Toolkit does not have full SSL support
MySQL 8.4 does not∗ run without SSL
Added basic SSL support for SHA256 plugins and replication
Implemented SSL tests for MySQL 8.4
Disabled SSL tests for earlier versions
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 16 / 22
SSL Support
Percona Toolkit does not have full SSL support
MySQL 8.4 does not∗ run without SSL
Added basic SSL support for SHA256 plugins and replication
Implemented SSL tests for MySQL 8.4
Disabled SSL tests for earlier versions
Full SSL support is upcoming
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 16 / 22
Deprecation
pt-slave-delay: deprecated
pt-slave-find: − > pt-replica-find
pt-slave-restart: − > pt-replica-restart
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 17 / 22
Fine Tuning
Fixed broken staff for 8.0
Reverted rename of COM REGISTER SLAVE to COM REGISTER REPLICA
▶ The constant still named COM REGISTER SLAVE in 8.4 and 9.2
Implemented functions get replica name and get source name in
lib/MasterSlave.pm
Removed practically not supported options --replica-user and --replica-password
from pt-archiver, pt-kill, pt-query-digest
Adjusted pt-variable-advisor, so it reflects current defaults
▶ Still not recommended to use!
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 18 / 22
Smooth Migration for Percona Toolkit Users
Legacy and new DDL support for checksum and heartbeat tables
Support for legacy slave-* and master-* options together with new replica-* and
source-* variants
Updated documentation
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 19 / 22
Was it Worth?
A lot of work
For young people new syntax is certainly clearer
Found legacy options that do not work
Found legacy tools that should be removed
Legacy code, not related to the new syntax, was updated
Done for good
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 20 / 22
References
https://github.com/percona/percona-toolkit/pull/871/commits
https://www.researchgate.net/publication/236752849_Broken_Metaphor_The_
Master-Slave_Analogy_in_Technical_Literature
https://en.wikipedia.org/wiki/Slave_clock
Picture on the Title page
▶ Transfer of master clock network technology to Czechoslovakia: Elektročas or Elektrozeit?
German roots of Czechoslovak post-war timepieces 1923–1990 - Scientific Figure on
ResearchGate.
▶ Available from https://www.researchgate.net/figure/
Presentation-of-product-variety-of-Pragotron-company_fig2_382205982
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 21 / 22
Thank You!
https://x.com/svetsmirnova
https://github.com/svetasmirnova
https://www.linkedin.com/in/svetsmirnova/
https://www.slideshare.net/SvetaSmirnova/
Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 22 / 22

War Story: Removing Offensive Language from Percona Toolkit

  • 1.
    War story Removing offensivelanguage from Percona Toolkit Sveta Smirnova Percona March 27, 2025 Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 1 / 22
  • 2.
    Percona Toolkit inPast Maatkit, Aspersa by Baron Schwartz Percona Toolkit ▶ Baron Schwartz 2008-2016 Daniel Nichter -2016 Frank Cizmich 2016-2022 Carlos Salguero 2022- Sveta Smirnova Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 2 / 22
  • 3.
  • 4.
    Percona Toolkit Today:The Most Popular Customer Tools pt-align pt-archiver pt-config-diff pt-deadlock-logger pt-diskstats pt-duplicate-key-checker pt-eustack-resolver pt-fifo-split pt-find pt-fingerprint pt-fk-error-logger pt-galera-log-explainer pt-heartbeat pt-index-usage pt-ioprofile pt-k8s-debug-collector pt-kill pt-mext pt-mongodb-index-check pt-mongodb-query-digest pt-mongodb-summary pt-mysql-summary pt-online-schema-change pt-pg-summary pt-pmp pt-query-digest pt-replica-find pt-replica-restart pt-secure-collect pt-show-grants pt-sift pt-slave-delay pt-slave-find pt-slave-restart pt-stalk pt-summary pt-table-checksum pt-table-sync pt-table-usage pt-upgrade pt-variable-advisor pt-visual-explain Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 4 / 22
  • 5.
    Percona Toolkit Today:Part of Other Percona Products pt-align pt-archiver pt-config-diff pt-deadlock-logger pt-diskstats pt-duplicate-key-checker pt-eustack-resolver pt-fifo-split pt-find pt-fingerprint pt-fk-error-logger pt-galera-log-explainer pt-heartbeat pt-index-usage pt-ioprofile pt-k8s-debug-collector pt-kill pt-mext pt-mongodb-index-check pt-mongodb-query-digest pt-mongodb-summary pt-mysql-summary pt-online-schema-change pt-pg-summary pt-pmp pt-query-digest pt-replica-find pt-replica-restart pt-secure-collect pt-show-grants pt-sift pt-slave-delay pt-slave-find pt-slave-restart pt-stalk pt-summary pt-table-checksum pt-table-sync pt-table-usage pt-upgrade pt-variable-advisor pt-visual-explain Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 5 / 22
  • 6.
    Percona Toolkit Today:The Most Popular Support Tools pt-align pt-archiver pt-config-diff pt-deadlock-logger pt-diskstats pt-duplicate-key-checker pt-eustack-resolver pt-fifo-split pt-find pt-fingerprint pt-fk-error-logger pt-galera-log-explainer pt-heartbeat pt-index-usage pt-ioprofile pt-k8s-debug-collector pt-kill pt-mext pt-mongodb-index-check pt-mongodb-query-digest pt-mongodb-summary pt-mysql-summary pt-online-schema-change pt-pg-summary pt-pmp pt-query-digest pt-replica-find pt-replica-restart pt-secure-collect pt-show-grants pt-sift pt-slave-delay pt-slave-find pt-slave-restart pt-stalk pt-summary pt-table-checksum pt-table-sync pt-table-usage pt-upgrade pt-variable-advisor pt-visual-explain Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 6 / 22
  • 7.
    Percona Toolkit Today:Helper Tools pt-align pt-archiver pt-config-diff pt-deadlock-logger pt-diskstats pt-duplicate-key-checker pt-eustack-resolver pt-fifo-split pt-find pt-fingerprint pt-fk-error-logger pt-galera-log-explainer pt-heartbeat pt-index-usage pt-ioprofile pt-k8s-debug-collector pt-kill pt-mext pt-mongodb-index-check pt-mongodb-query-digest pt-mongodb-summary pt-mysql-summary pt-online-schema-change pt-pg-summary pt-pmp pt-query-digest pt-replica-find pt-replica-restart pt-secure-collect pt-show-grants pt-sift pt-slave-delay pt-slave-find pt-slave-restart pt-stalk pt-summary pt-table-checksum pt-table-sync pt-table-usage pt-upgrade pt-variable-advisor pt-visual-explain Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 7 / 22
  • 8.
    Percona Toolkit Today:Written in Perl, Bash, and Go pt-align pt-archiver pt-config-diff pt-deadlock-logger pt-diskstats pt-duplicate-key-checker pt-eustack-resolver pt-fifo-split pt-find pt-fingerprint pt-fk-error-logger pt-galera-log-explainer pt-heartbeat pt-index-usage pt-ioprofile pt-k8s-debug-collector pt-kill pt-mext pt-mongodb-index-check pt-mongodb-query-digest pt-mongodb-summary pt-mysql-summary pt-online-schema-change pt-pg-summary pt-pmp pt-query-digest pt-replica-find pt-replica-restart pt-secure-collect pt-show-grants pt-sift pt-slave-delay pt-slave-find pt-slave-restart pt-stalk pt-summary pt-table-checksum pt-table-sync pt-table-usage pt-upgrade pt-variable-advisor pt-visual-explain Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 8 / 22
  • 9.
    Percona Toolkit Today:Tools that Work Directly with MySQL pt-align ✓ pt-archiver ✓ pt-config-diff ✓ pt-deadlock-logger pt-diskstats ✓ pt-duplicate-key-checker pt-eustack-resolver pt-fifo-split ✓ pt-find pt-fingerprint ✓ pt-fk-error-logger pt-galera-log-explainer ✓ pt-heartbeat ✓ pt-index-usage pt-ioprofile pt-k8s-debug-collector ✓ pt-kill pt-mext pt-mongodb-index-check pt-mongodb-query-digest pt-mongodb-summary ✓ pt-mysql-summary ✓ pt-online-schema-change pt-pg-summary pt-pmp ✓ pt-query-digest ✓ pt-replica-find ✓ pt-replica-restart pt-secure-collect ✓ pt-show-grants pt-sift ✓ pt-slave-delay ✓ pt-slave-find ✓ pt-slave-restart ✓ pt-stalk pt-summary ✓ pt-table-checksum ✓ pt-table-sync ✓ pt-table-usage ✓ pt-upgrade ✓ pt-variable-advisor ✓ pt-visual-explain Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 9 / 22
  • 10.
    MySQL 8.4 Newand Legacy Syntax Legacy Syntax New Syntax First Introduced SHOW SLAVE HOSTS SHOW REPLICAS 8.0.23 CHANGE MASTER CHANGE REPLICATION SOURCE 8.0.23 SHOW MASTER STATUS SHOW BINARY LOG STATUS 8.1 RESET MASTER RESET BINARY LOGS[ AND GTIDS] 8.1 SLAVE in other commands REPLICA 8.0.23, 8.1 MASTER in other commands SOURCE 8.0.23, 8.1 Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 10 / 22
  • 11.
    MySQL 8.4 LegacyLeft Overs Privileges ▶ REPLICATION SLAVE Tables in mysql schema ▶ slave master info ▶ slave relay log info ▶ slave worker info Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 11 / 22
  • 12.
    Solution 1: sed Easyto implement: sed ’s/master/source/g’ * sed ’s/slave/replica/g’ * Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 12 / 22
  • 13.
    Solution 1: sed Easyto implement: sed ’s/master/source/g’ * sed ’s/slave/replica/g’ * We have to support old versions Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 12 / 22
  • 14.
    Solution 1: sed Easyto implement: sed ’s/master/source/g’ * sed ’s/slave/replica/g’ * We have to support old versions Rejected! Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 12 / 22
  • 15.
    Complicated solution Syntax, dependingon version Split at MySQL 8.1 Queries to MariaDB use old syntax ▶ May change in the future Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 13 / 22
  • 16.
    Percona Toolkit CodeLayout / bin/ pt-align pt-archiver ... lib/ Advisor.pm AdvisorRules.pm bash/ alt_cmds.sh collect_mysql_info.sh ... BinaryLogParser.pm ... ... src/ go/ pt-galera-log-explainer pt-k8s-debug-collector ... sandbox/ t/ lib pt-align pt-archiver ... Changelog ... Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 14 / 22
  • 17.
    Starting the Change Testsfirst Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 15 / 22
  • 18.
    Starting the Change Testsfirst Libraries code ▶ Perl ▶ Bash Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 15 / 22
  • 19.
    Starting the Change Testsfirst Libraries code ▶ Perl ▶ Bash Added use VersionParser into tests Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 15 / 22
  • 20.
    Starting the Change Testsfirst Libraries code ▶ Perl ▶ Bash Added use VersionParser into tests Tools one-by-one Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 15 / 22
  • 21.
    SSL Support Percona Toolkitdoes not have full SSL support MySQL 8.4 does not∗ run without SSL Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 16 / 22
  • 22.
    SSL Support Percona Toolkitdoes not have full SSL support MySQL 8.4 does not∗ run without SSL Added basic SSL support for SHA256 plugins and replication Implemented SSL tests for MySQL 8.4 Disabled SSL tests for earlier versions Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 16 / 22
  • 23.
    SSL Support Percona Toolkitdoes not have full SSL support MySQL 8.4 does not∗ run without SSL Added basic SSL support for SHA256 plugins and replication Implemented SSL tests for MySQL 8.4 Disabled SSL tests for earlier versions Full SSL support is upcoming Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 16 / 22
  • 24.
    Deprecation pt-slave-delay: deprecated pt-slave-find: −> pt-replica-find pt-slave-restart: − > pt-replica-restart Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 17 / 22
  • 25.
    Fine Tuning Fixed brokenstaff for 8.0 Reverted rename of COM REGISTER SLAVE to COM REGISTER REPLICA ▶ The constant still named COM REGISTER SLAVE in 8.4 and 9.2 Implemented functions get replica name and get source name in lib/MasterSlave.pm Removed practically not supported options --replica-user and --replica-password from pt-archiver, pt-kill, pt-query-digest Adjusted pt-variable-advisor, so it reflects current defaults ▶ Still not recommended to use! Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 18 / 22
  • 26.
    Smooth Migration forPercona Toolkit Users Legacy and new DDL support for checksum and heartbeat tables Support for legacy slave-* and master-* options together with new replica-* and source-* variants Updated documentation Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 19 / 22
  • 27.
    Was it Worth? Alot of work For young people new syntax is certainly clearer Found legacy options that do not work Found legacy tools that should be removed Legacy code, not related to the new syntax, was updated Done for good Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 20 / 22
  • 28.
    References https://github.com/percona/percona-toolkit/pull/871/commits https://www.researchgate.net/publication/236752849_Broken_Metaphor_The_ Master-Slave_Analogy_in_Technical_Literature https://en.wikipedia.org/wiki/Slave_clock Picture on theTitle page ▶ Transfer of master clock network technology to Czechoslovakia: Elektročas or Elektrozeit? German roots of Czechoslovak post-war timepieces 1923–1990 - Scientific Figure on ResearchGate. ▶ Available from https://www.researchgate.net/figure/ Presentation-of-product-variety-of-Pragotron-company_fig2_382205982 Sveta Smirnova (Percona) War story: removing offensive language March 27, 2025 21 / 22
  • 29.