Commit Graph

115 Commits

Author SHA1 Message Date
Sveta Smirnova
0a98a81370 Merge pull request #863 from hpoettker/PT-2378_table_sync_with_more_fp_precision
PT-2378 - extended FP precision in pt-table-sync
2025-01-14 18:06:55 +03:00
Sveta Smirnova
f837672d1d Merge pull request #861 from hpoettker/PT-2377_table_sync_with_utf8_json
PT-2377 - fixed pt-table-sync for JSON utf8 strings
2025-01-14 18:04:41 +03:00
Henning Poettker
1e581be06a PT-2378 - extended FP precision in pt-table-sync
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.
2025-01-13 09:31:51 +01:00
Sveta Smirnova
ce20bc7dd1 Merge pull request #860 from hpoettker/PT-2375_table_sync_with_generated_columns
PT-2375 - fixed pt-table-sync for tables with generated columns
2024-12-27 18:08:08 +03:00
Henning Poettker
16b06dcfc2 PT-2377 - fixed pt-table-sync for JSON utf8 strings
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.
2024-12-27 13:46:55 +01:00
Sveta Smirnova
9f1e50cb58 PT-2340 - Support MySQL 8.4
- 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
2024-12-16 13:23:41 +03:00
Sveta Smirnova
44a2819055 PT-2340 - Support MySQL 8.4
- Added wait_for_replicas call into t/pt-table-checksum/pt-1616.t
- Added diagnostic output into t/pt-upgrade/run_time.t, t/pt-table-sync/issue_627.t
2024-12-03 16:25:58 +03:00
Henning Poettker
5f14441d19 PT-2375 - fixed pt-table-sync for tables with generated columns
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.
2024-11-14 23:51:40 +01:00
Henning Poettker
f8d736a89a Fixed flaky tests
The tests previously tested assertions against the replica after
executing changes in the source without waiting for the
replication to converge.
2024-11-14 22:58:42 +01:00
Sveta Smirnova
f57d63ab00 PT-2340 - Support MySQL 8.4
- Added sleep to t/lib/MasterSlave.t, so it does not fail on fast machines
- Disabled SSL tests on versions earlier than 8.0
2024-11-14 22:48:06 +03:00
Sveta Smirnova
bb66ab0845 PT-2340 - Support MySQL 8.4
- 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.
2024-11-13 02:04:39 +03:00
Sveta Smirnova
33086769a1 PT-2340 - Support MySQL 8.4
- 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
2024-10-04 18:27:00 +03:00
Sveta Smirnova
5d55904436 PT-2340 - Support MySQL 8.4
- Tests for the minimal SSL support
- Updated util/update-modules, so they don't skip tools with modules, not defined in lib
2024-09-18 15:28:45 +03:00
Sveta Smirnova
194bb99ef9 PT-2340 - Support MySQL 8.4
- Fixed 5.7 tests
2024-08-25 04:36:37 +03:00
Sveta Smirnova
a38bee6d60 PT-2340 - Support MySQL 8.4
- Updated modules and tests for pt-table-sync, pt-table-usage, pt-upgrade, pt-variable-advisor
2024-08-03 17:12:11 +03:00
Sveta Smirnova
4612cb2b97 PT-2340 - Support MySQL 8.4
- 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
2024-07-23 16:07:38 +03:00
Sveta Smirnova
e8a09c62a3 Fixed wait_for_slaves in t/pt-table-sync/master_master.t, so it instructs master1 to wait when master2 is up-to-date 2024-06-07 22:12:44 +03:00
Sveta Smirnova
32cfc53d9d PT-2154 - Fix tests for pt-table-sync
- Removed debug output from t/pt-table-sync/issue_920.t
- Removed debug output from t/pt-table-sync/issue_996.t
2024-05-16 02:30:49 +03:00
Sveta Smirnova
fdc0597e55 PT-2154 - Fix tests for pt-table-sync
- Removed diagnostic output from t/pt-table-sync/issue_996.t
- Corrected character set options in t/pt-table-sync/samples/pt-1205.sql
2024-05-16 02:04:40 +03:00
Sveta Smirnova
e2ca142baa PT-2154 - Fix tests for pt-table-sync
- 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
2024-05-15 19:31:27 +03:00
Sveta Smirnova
eac0b21407 PT-2309 - pt-table-sync hits an error when the primary key is uuid binary
- Implemented fix for the "Cannot nibble" error
- Added test case
2024-04-16 14:24:04 +03:00
Sveta Smirnova
02664694e2 PT-1194 - LP #1266896: pt-table-sync port problem
- Implemented the fix
- Added test case
2024-04-06 12:37:59 +03:00
Sveta Smirnova
37ca3d2d49 PT-1205 - LP #1275034: pt-table-sync reports 'wide character in print' and terminates
- Added binmode :utf8 for STDERR
- Added test case for PT-1205
- Run update-modules
2024-03-22 01:42:14 +03:00
Sveta Smirnova
f46aad842b PT-2295 - Fix tests on distributions
- Fixed test t/pt-table-sync/specify_column_or_index.t, because we
  cannot use exact numbers when pt-osc relies on the EXPLAIN output.
2024-02-14 14:53:00 +03:00
Sveta Smirnova
f8c43118bd PT-2168 pt-osc shouldnt fail while unable to monitor a replica node (#676)
* 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
2023-09-19 23:31:33 +03:00
Sveta Smirnova
25c969542b PT-2151 fix tests for pt-query-digest (#631)
* 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
2023-06-23 15:48:21 +03:00
Sveta Smirnova
2f584c85db PT-2140 - Update modules in the main branch (#570)
* PT-2140 - Update modules in the main branch

Updated modules for:
- pt-align
- pt-archiver
- pt-config-diff
- pt-deadlock-logger
- pt-diskstats
- pt-duplicate-key-checker
- pt-fifo-split
- pt-find
- pt-fingerprint
- pt-fk-error-logger
- pt-heartbeat
- pt-index-usage
- pt-ioprofile
- pt-kill
- pt-mext
- pt-mysql-summary
- pt-online-schema-change
- pt-pmp
- pt-query-digest
- pt-show-grants
- pt-sift
- pt-slave-delay
- pt-slave-find
- pt-slave-restart
- pt-summary
- pt-table-sync
- pt-upgrade
- pt-variable-advisor

Added execute bit for pt-query-digest

* PT-2140 Update modules in the main branch

Fixed Daemon.pm plugin usage
Updated all tests, related to the Daemon plugin.
I intentionally did not fix failing tests, not related to Daemon plugin,
to avoid making this PR too big.

- bin/pt-archiver
	- PT-2141 - Fixed usage of Daemon.pm
	- PT-2141 - Updated t/pt-archiver/standard_options.t
- bin/pt-deadlock-logger
	- PT-2143 - Fixed usage of Daemon.pm
	- PT-2143 - Updated t/pt-deadlock-logger/standard_options.t
- bin/pt-fifo-split
	- PT-2144 - Fixed usage of Daemon.pm
	- PT-2144 - Updated t/pt-fifo-split/pt-fifo-split.t
- bin/pt-find
	- PT-2145 - Fixed usage of Daemon.pm
	- PT-2145 - Updated t/pt-find/pt-find.t
- bin/pt-fk-error-logger
	- PT-2146 - Fixed usage of Daemon.pm
	- PT-2146 - Updated t/pt-fk-error-logger/basics.t
- bin/pt-heartbeat
	- PT-2147 - Fixed usage of Daemon.pm
	- PT-2147 - Updated t/pt-heartbeat/standard_options.t, t/pt-heartbeat/basics.t
- bin/pt-kill
	- PT-2148 - Fixed usage of Daemon.pm
	- PT-2148 - Updated t/pt-kill/standard_options.t
- bin/pt-show-grants
	- PT-2152 - Fixed usage of Daemon.pm
	- PT-2152 - Updated t/pt-show-grants/standard_options.t
- bin/pt-slave-delay
	- Fixed usage of Daemon.pm
	- Updated t/pt-slave-delay/standard_options.t
- bin/pt-slave-find
	- PT-2153 - Fixed usage of Daemon.pm
	- PT-2153 -Updated t/pt-slave-find/pt-slave-find.t
- bin/pt-slave-restart
	- Fixed usage of Daemon.pm
	- Updated t/pt-slave-restart/pt-slave-restart.t
- bin/pt-table-sync
	- PT-2154 - Fixed usage of Daemon.pm
	- PT-2154 -Updated t/pt-table-sync/standard_options.t
2023-01-06 15:04:10 +03:00
Carlos Salguero
c5a22407a7 PT-2016 pt-table-sync and CRC32 columns (#521)
* PT-2016 CRC32 on key

* PT-2016 Added tests

* Removed commented out line
2021-11-03 13:53:30 -03:00
Carlos Salguero
45522dea28 Renamed dubious tests 2020-04-01 15:39:16 -03:00
Carlos Salguero
03ff3c314a PT-1572 Fixed MySQL 8 tests 2018-07-30 11:41:10 -03:00
Carlos Salguero
53278a9d18 Fixed test for MySQL 5.6 2018-06-27 23:24:05 -03:00
Carlos Salguero
d1cc7bfee7 Fixed test for MySQL 5.6 2018-06-27 23:23:23 -03:00
Carlos Salguero
4f017cc61a PT-1554 Fixed tests for MySQL 8 2018-06-22 14:56:02 -03:00
Carlos Salguero
0004bb7bbc PT-1554 (WIP) Tests for MySQL 8
There are tests failing but the sandbox doesn't crash
2018-05-30 21:25:28 -03:00
Carlos Salguero
998b37f3c0 Fixed type in pt-table-sync test and updated changelog 2018-03-26 10:24:46 -03:00
Carlos Salguero
5ec398dbec PT-572 Removed dbug info 2018-02-21 16:50:58 -03:00
Carlos Salguero
ec25735ca4 PT-572 More tests fixed 2018-02-21 16:42:26 -03:00
Carlos Salguero
8943e0a9f6 Merge branch '3.0' into mysql-8 2018-02-19 12:11:07 -03:00
Carlos Salguero
75ab0ba653 PT-1256 pt-table-sync does not use the character set for the table it is synchronizing 2018-02-09 16:46:16 -03:00
Carlos Salguero
51dcca5959 PT-572 Fixes for MySQL 8
- 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
2018-02-01 11:30:12 -03:00
Carlos Salguero
af69008a10 PT-221 pt-table-sync support for MyRocks 2017-11-30 11:36:43 -03:00
Carlos Salguero
7dcef2671c PT-139 Added --channels option to MasterSlave 2017-05-11 18:06:49 -03:00
Carlos Salguero
f6d2e89027 Fixed all tests for MySQL 5.7
Most of the failing tests were failing due to changes in MySQL 5.7
default sql_mode and because of invalid timestamps ('0000-00-00')
2017-05-03 15:48:11 -03:00
Carlos Salguero
fabcf01e2a PT-101 WIP 2017-03-15 17:08:31 -03:00
Carlos Salguero
410e75a623 Updated tests for schema iterator 2017-01-16 23:42:11 -03:00
Carlos Salguero
14f42bf988 Fixed t/pt-table-sync/basics.t 2017-01-16 20:37:58 -03:00
Carlos Salguero
e5262d6dfe Updates test. Removed extra CR 2016-07-12 18:18:40 -03:00
Carlos Salguero
e5cfbab197 Tests for 'quote enum fields'. PR #102 2016-07-12 17:45:07 -03:00
Carlos Salguero
350a4fd641 Added tests for BUG-1595678 / pt-table-sync 2016-07-07 15:33:38 -03:00
Daniel Nichter
39c020020c Add and test --[no]check-child-tables. 2013-12-13 19:31:30 -08:00