Commit Graph

112 Commits

Author SHA1 Message Date
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
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
Daniel Nichter
166173a318 Don't quote FLOAT or DOUBLE in Quoter::quote_val(). 2013-10-10 15:58:02 -07:00
Daniel Nichter
5e46d013a9 Failing test case for bug 1229861. 2013-10-10 15:44:48 -07:00
Daniel Nichter
f0b7712528 Fix tests to work with new --set-vars, and change --lock-wait-timeout to --set-vars innodb_lock_wait_timeout in tests. 2013-03-02 10:17:23 -07:00