pt-table-sync now uses up to 17 decimal digits when writing
floating point numbers in the generated SQL statements.
This is necessary to prevent unintended data changes.
The MySQL driver DBD::mysql does not decode JSON values as utf8
although MySQL uses utf8mb4 for all JSON strings.
This change decodes JSON values as utf8 (when not already done)
such that SQL statements are generated correctly.
- Changed replica_parallel_workers in configuration for 8.0 and 8.4 to o, because wiat_for_replicas is buggy for multi-threaded slaves (cherry picked from commit d9b0219d9e)
- Minor tests diagnostic and cleanup
Previously, pt-table-sync generated DML statements that included
the generated columns of a table, which is however rejected by
the database and not necessary for the required sync statements.
- Implemented functions get_replica_name and get_source_name in lib/MasterSlave.pm I did not implement similar functions in other places, because they set other variables as well, not only replica_name or source_name.
- Added test for replica lag check for pt-archiver
- Re-added deprecated slave- options
- Added tests for deprecation warnings and for legacy options for pt-archiver
- Removed practically not supported options --replica-user and --replica-password from pt-archiver, pt-kill, pt-query-digest
- Added legacy source/replica options (master/slave) variants and tests for pt-heartbeat, pt-online-schema-change, pt-replica-find, pt-replica-restart, pt-table-checksum, pt-table-sync
- Updated modules after lib/MasterSlave.pm change
- Adjusted sandbox scripts, so they can start MySQL 8.4
- Added MySQL 8.4 configuration file
- Removed empty file sandbox/5.6
- Removed unused files sandbox/set-mysql, sandbox/slave_channels_t.sql, sandbox/jenkins-test
- Removed offensive terminology from the sandbox scripts wherever it is possible
- Removed junk comment from t/pt-table-sync/pt-2309.t
- Re-enabled t/pt-table-sync/issue_96.t in 8.0+
- Re-enabled tests in t/pt-table-sync/pt-1256.t in 8.0.14+
- Re-enabled t/pt-table-sync/master_master.t in 8.0+
- Re-enabled t/pt-table-sync/lock_and_rename.t in 8.0+
- Re-enabled t/pt-table-sync/issue_965.t
- Added proper disable comments into t/pt-table-sync/issue_920.t and t/pt-table-sync/issue_996.t
* PT-2168 - PT-OSC shouldn't fail while unable to monitor a replica node
- Proof of concept
- Fixed regular expression in lib/TableParser.pm mistakenly chaged in the tool's code
* PT-2168 - PT-OSC shouldn't fail while unable to monitor a replica node
- Added basic test case for PT-2168
- Added more details for replica lag information
- Disconnecting replica if lag is not checked. This prevents "Too many
connections" error
* PT-2168 - PT-OSC shouldn't fail while unable to monitor a replica node
- Implemented option --wait-lost-replicas for pt-osc, added test case
* PT-2168 - PT-OSC shouldn't fail while unable to monitor a replica node
- Added more tests for situations where connection to the replica can
fail
* PT-2168 - PT-OSC shouldn't fail while unable to monitor a replica node
- Removed extra checks for wait_no_die variable
- Added test cases for SQL queries that pt-osc sends to replicas
* PT-2168 - PT-OSC shouldn't fail while unable to monitor a replica node
- Allow to reload dsns table while waiting for missed replica if
--recursion-method is dsn
- Fixed logic in replica rediscovery, so it works with replicas on the
same host but with different ports
- Renamed option wait-lost-replicas to fail-on-stopped-replication, so
it is in line with pt-table-checksum
- Adjusted tests
- Removed debug code for PT-1760
- Added test case for PT-1760
- Added exception for variable Open_tables_with_triggers in
lib/bash/collect.sh due to failed test in Percona Server 8.0.34+
- Updated pt-stalk
* PT-2168 - PT-OSC shouldn't fail while unable to monitor a replica node
- Updated modules
- Fixed typo in t/pt-table-sync/bidirectional.t
- Removed trailing whitespaces in lib/MasterSlave.pm
* PT-2168 - PT-OSC shouldn't fail while unable to monitor a replica node
- Help for option --fail-on-stopped-replication
* PT-2168 - PT-OSC shouldn't fail while unable to monitor a replica node
- Added check for availability of the simple_rewrite_plugin in t/pt-online-schema-change/pt-2168.t
* PT-2168 - PT-OSC shouldn't fail while unable to monitor a replica node
- Added link to the simple_rewrite_plugin source code
- Removed tests for code that runs only in the beginning of pt-osc
action, so should not be affected by the option fail-on-stopped-replication
* PT-2151 - Fix tests for pt-query-digest
Put fix for PT-1908 into the proper place
* PT-2151 - Fix tests for pt-query-digest
Put fix for PT-1554 into the proper place
* PT-2151 - Fix tests for pt-query-digest
Adjusted expected results for the default test t/pt-table-checksum/basics.t, so they do not depend on number of rows in the help tables
* PT-2151 - Fix tests for pt-query-digest
Added additional check for both replicas into t/pt-online-schema-change/preserve_triggers.t to avoid deadlock when ->ok() is doing CHECKSUM
* PT-2151 - Fix tests for pt-query-digest
Added delay to t/pt-table-sync/wait.t, so it waits for the child process to start lagging
* PT-2151 - Fix tests for pt-query-digest
Updated t/pt-query-digest/samples/issue_1196-output-8.0.txt, so it reflects changes in the latest 8.0
* PT-2151 - Fix tests for pt-query-digest
Updated queries against query history table, so they don't fail after e2cf183762
* PT-2151 - Fix tests for pt-query-digest
Fixed PT-813 by comparing query text. Since order itself does not matter, it is not essential to compare by the fingerprint or use any other function that changes the query.
* PT-2151 - Fix tests for pt-query-digest
Adjusted samples files which now should have consistent order after fix for PT-813
* PT-2151 - Fix tests for pt-query-digest
Fixed typo in the SELECT query in the QueryReview package
* PT-2151 - Fix tests for pt-query-digest
Fix for PT-981
* PT-2151 - Fix tests for pt-query-digest
Updated modules for pt-index-usage and fixed tests, because checksum is calculated differently after fix for PT-1554
* PT-2151 - Fix tests for pt-query-digest
Updated modules for pt-diskstats, pt-fk-error-logger, pt-heartbeat, pt-online-schema-change, pt-slave-delay, pt-slave-find, pt-table-checksum, pt-table-sync, pt-upgrade
* PT-2151 - Fix tests for pt-query-digest
Updated lib/IndexUsage.pm, so fix for pt-index-usage is in the correct place
- Updated sandbox data file
- Fixes for pt-upgrade since there is no query_cache in MySQL 8
- Updates for SchemaIterator since there are new/renamed tables in MySQL 8
- Disabled some tests due to errors in MySQL 8.0.4-rc