Commit Graph

787 Commits

Author SHA1 Message Date
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
Viktor Szépe c57441be8c War on typos Act 1 (#655)
* Fix typos in lib/ directory

* Update generated bin/ files

* PR 655 -  War on typos Act 1 #655

- Updated modules in tools that were not updated
- Fixed tests to reflect proposed changes

---------

Co-authored-by: Sveta Smirnova <sveta.smirnova@percona.com>
2023-08-22 16:18:38 +03:00
Sveta Smirnova 9755074cd8 PT-2156 Fix tests for lib, part2 (#650)
* PT-2156 - Fix tests for lib

Fixed tests, broken by putting fix for PT-1554 into the library code, mostly by updating checksums.
Added AutoCommit option for test lib/QueryReview.t
Reset SQL mode to empty to allow TableChunker to work with invalid and zero dates

* PT-2156 - Fix tests for lib

Adjusted t/lib/SchemaIterator.t to work with version 8.0

* PT-2156 - Fix tests for lib

Adjusted b/t/lib/Processlist.t, so it reflects fix for PT-981

* PT-2156 - Fix tests for lib

Adjusted t/lib/HTTP/Micro.t, so it works with different order of parameters, returned at v.percona.com/
Adjusted test for empty files in t/lib/bash/collect.t
Disabled mysqladmin debug test in t/lib/bash/collect.t, because of PT-2242

* PT-2156 - Fix tests for lib

Added LC_NUMERRIC=POSIX into t/lib/bash/report_system_info.sh, so reports in tests are not environment-dependent
Updated expected results in t/lib/bash/report_system_info.sh, so they reflect new information, collected by pt-summary

* PT-2156 - Fix tests for lib

- Improved fix for PT-76, so it handles inline comments
- Added test case for PT-76
- Improved fix for PT-1720, so it ignores unrecognizable option only if it comes from the toolkit-wide files and still errors out if wrong option was passed via command line or the tool-specific option file.

* PT-2156 - Fix tests for lib

- Improved fix for PT-2102, so it finds running instance configuration file using PID and also does not break t/lib/bash/report_mysql_info.t test
- Removed unnecessary copy-paste from t/pt-mysql-summary/pt-2102.t test
- Adjusted number of collected files in t/lib/bash/collect_mysql_info.sh

* PT-2156 - Fix tests for lib

- Fix for PT-1543 and MyRocks collection were originally put only into lib/bash/report_mysql_info.shthat broke the logic of collecting data first, then formatting report from this data. This, in its turn, broke test t/lib/bash/report_mysql_info.sh/t/lib/bash/report_mysql_info.t, because CMD_MYSQL is not defined in this library. I rewrote these fixes, so they follow original logic of the tool (pt-mysql-summary)
- Added tests for keyring plugin, encrypted tables, and MyRocks for t/lib/bash/report_mysql_info.sh and t/pt-mysql-summary/pt-mysql-summary_encryption.t

* PT-2156 - Fix tests for lib

- Added FLUSH TABLES to t/lib/bash/collect.sh, so it does not fail opentables tests if run when more than 1000 tables open in the sandbox environment
- Changed number of expected sample files to reflect keyring colletion file

* PT-2156 - Fix tests for lib

- Added skip to some tests in lib that file when run with PXC, because not supported to work with PXC
- Adjusted configuration files for PXC, so they allow LOAD DATA/SELECT INTO OUTFILE commands
- Adjusted data samples, so they do not depend on auto increment values
- Fixed lib tests, failing with PXC

* PT-2156 - Fix tests for lib

Updated tests for pt-online-schema-change, so they work with PXC and skipped if designed for semi-synchronous replication setup

* PT-2156 - Fix tests for lib

- Added cluster-specific samples for t/lib/SchemaIterator.t
- Removed extra debugging print from t/pt-table-checksum/pt-1728.t

* PT-2156 - Fix tests for lib

Evgeniy's review on July 20

* Update t/lib/TableSyncer.t

Removed comment left after debugging

* Update t/pt-mysql-summary/pt-mysql-summary_encryption.t

Removed extra debug output

* PT-2156 - Fix tests for lib

Tabs to spaces
2023-08-02 14:50:21 +03:00
Sveta Smirnova 642253ce52 PT-2156 Fix tests for lib (#606)
* PT-2156 - Fix tests for lib

- Fixed tests broken for lib/TableParser.pm after fix for PT-1059
- Updated tests for lib/TableParser.pm that are broken due to SHOW CREATE TABLE output format change in 8.0
- Updated modules for all tools that use lib/TableParser.pm

* Revert "Fixed pt-archiver tests"

This reverts commit a3ab87b12e.

This commit wa needed, because removed code in sandbox/slave_channels.sql broked the test. Proper fix would be to do not remove channel names rather than chaging the test. So revertig it.

* PT-2156 - Fix tests for lib

- Updated test t/lib/TableChecksum.t so it reflects changes, introduced in the fix for PT-2016
- Updated test t/lib/RowChecksum.t so it reflects changes added to in the fix for PT-2138: UTF8 support
- Uncommented SQL in sandbox/slave_channels.sql that made t/lib/MasterSlave.t to fail
- Added check for undef into t/pt-archiver/archive_using_channels.t
- Updated lib/Cxn.pm so it uses $dbh->{Active} after issue with the ping() call, reported at https://github.com/perl5-dbi/DBD-mysql/issues/306

* PT-2156 - Fix tests for lib

- Impoved the fix for PT-2016, so it does not files with keys with USING keyword
- Added brackets to expression in lib/TableNibbler.pm, so it does not crap query wit many indexes with OR keyword
- Adjusted test t/lib/TableNibbler.t, so it reflects above chages
- Modified lib/Cxn.pm, so it has workaround for https://github.com/perl5-dbi/DBD-mysql/issues/306 , introduced in DBD::mysql 4.0.50
- Updated tests: added debugging code and cleanups
- Updated modules for tools
2023-03-27 14:18:26 +03:00
Sveta Smirnova 64ca4de973 PT-1642-Update PT docs to reference bug reporting location as Percona JIRA (#590)
Updated bug tracker URL and also changed "open issues" list to https://jira.percona.com/projects/PT/issues
2023-02-11 00:34:01 +03:00
Carlos Salguero 9d6508da5f PT-1900 pt-query-digest not hiding parameter properly sometimes when parameter=binary (#510)
* PT-1900 WIP

* Fixed quoted strings regexes

* PT-1900 Fixed query rewriter to properly handle quoted text

* Fixed merge conflicts with 3.x branch
2021-09-27 08:23:23 -03:00
Carlos Salguero ecf43e2a17 PT-1985 pt-deadlock db schema check (#502) 2021-07-29 12:15:53 -03:00
Carlos Salguero e570cecbab PT-1914 Column data lost when 'Generated' is in the column comment (#482)
* PMM-1914 Fixed column parsing having generated

Fixed table parser code that errouneously considered a column as
generated when the default was empty DEFAULT '' and the COMMENT had
the word 'Generated'.

* PMM-1914 Updated TableParser in all programs

* PT-1914 Updated changelog

* PT-1914 Added test
2021-03-09 11:46:05 -03:00
Carlos Salguero f0ee14d479 WIP 2020-03-30 08:21:05 -03:00
Carlos Salguero 53213e0582 Merge branch '3.0' into PT-1707 2019-10-29 08:57:38 -03:00
Carlos Salguero e656274493 PT-1707 Updated DSNParser in all apps 2019-10-29 08:53:26 -03:00
Carlos Salguero 0c50d8f708 Merge pull request #420 from percona/PT-1760
PT-1760 regression on slave with replication channels
2019-10-15 19:02:36 -03:00
Carlos Salguero 6a302e2b07 PT-1757 Implemented fallback in NibbleIterator
Since now NibbleIterator can fallback to nibble (from one chunk) pt-osc
can nibble tables even if due to unacurate stats, it choses one nible as
the initial nibbling method.
2019-10-13 21:58:56 -03:00
Carlos Salguero a6e0b0d324 WIP 2019-10-08 13:10:26 -03:00
Carlos Salguero 605b97959c PT-1760 DSN parser overrides values if F= was specified 2019-10-01 11:20:18 -03:00
Carlos Salguero ed6ebcedbd Updated changelog and tests 2019-09-06 06:25:52 -03:00
Carlos Salguero 9190b5e6ac Tests passed with MySQL 5.7 2019-09-03 15:26:26 -03:00
Carlos Salguero 5c4a6bd5e1 PT-1728 Fixed missing Quoter pkg 2019-05-30 09:56:26 -05:00
Carlos Salguero a97e24be71 PT-1707 IPV6 support for recursion method processlist 2019-04-11 17:44:17 -03:00
Carlos Salguero 2b5c8f69ab PT-1573 Fixed General log parser regex
The regexp to process log entries was not considering timestamps in +n,
it was only considering timestamps in -n hours
2018-09-26 09:25:33 -03:00
Carlos Salguero df20b8af28 PT 3.0.12 fixes tests 2018-09-10 16:31:01 -03:00
Carlos Salguero 8c806df658 PT-1572 Fixed issue with --chunk-index-columns 2018-08-09 13:58:31 -03:00
Carlos Salguero d2c4f57a52 PT-1572 Updated tests 2018-07-28 16:08:27 -03:00
Carlos Salguero ea4886ad9d PT-1572 WIP 2018-07-27 22:16:02 -03:00
Carlos Salguero 602c1f0ea2 PT-1570 pt-archiver fails to detect columns with the word GENERATED as part of the comment 2018-06-14 14:15:20 -03:00
Carlos Salguero f5fd795fda PT-1559 pt-osc --alter-foreign-keys-method=drop_swap doesn't work with MySQL 8.0+ 2018-06-13 16:46:40 -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 cbe2333e92 PT-1554 Test fixes for QueryReportFormatter 2018-05-23 11:32:03 -03:00
Carlos Salguero 6679596b3b PT-1554 4th attempt to fix ExplainAnalyzer.t 2018-05-22 15:26:56 -03:00
Carlos Salguero b547b7c21c PT-1554 3rd attempt to fix ExplainAnalyzer.t 2018-05-22 15:25:33 -03:00
Carlos Salguero 9d1c67613b PT-1554 2nd attempt to fix ExplainAnalyzer.t 2018-05-22 15:20:06 -03:00
Carlos Salguero f9f05b7289 PT-1554 Test fixes for ExplainAnalyzer.t 2018-05-22 15:11:30 -03:00
Carlos Salguero 0f98f72002 PT-1554 Fix tests that requires a connection using latin1 2018-05-17 12:08:51 -03:00
Carlos Salguero a87d6e8765 PT-1554 Fixed test for MockSyncStream 2018-05-17 09:55:27 -03:00
Carlos Salguero 5414abc9aa PT-1554 Fixed tests for TableChecksum 2018-05-15 15:23:29 -03:00
Carlos Salguero a48a767eb4 PT-243 added --max-hostname-length & max-line-length to pt-query-digest 2018-03-27 14:23:59 -03:00
Carlos Salguero 8943e0a9f6 Merge branch '3.0' into mysql-8 2018-02-19 12:11:07 -03:00
Carlos Salguero cdec55dc84 PMM-1479 Switched to UUID for version check
In order to be able to count individual users for the usage stats, we
need to implement UUID instead of just using MD5(hostname) since most
servers are just 'localhost' or 'db1'.
Using UUID we would be able to count unique users.
2018-02-14 12:54:02 -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 d38a584271 Fixes for DSN parser to use UTF8 2018-01-28 14:46:51 -03:00
Carlos Salguero f3132d3cee WIP 2018-01-25 00:01:56 -03:00
Carlos Salguero 045c656839 Fixes for MasterSlave.pm 2018-01-22 16:27:36 -03:00
Carlos Salguero 1d1c13fbcb WIP 2018-01-16 11:11:16 -03:00
Carlos Salguero 4b563ef714 WIP 2018-01-09 16:19:05 -03:00
Carlos Salguero 5c106b4fad Updated all tests for PS 5.7 2017-12-18 13:01:11 -03:00
Carlos Salguero bb3334de08 Updated tests for MySQL 5.7 2017-12-16 20:54:03 -03:00
Carlos Salguero 7af26c9e3d Merge branch '3.0' into PT-209 2017-11-27 13:39:23 -03:00
Carlos Salguero 6742025dd0 PT-209 Check adding FKs to a RocksDB table 2017-11-13 16:07:12 -03:00
Carlos Salguero af65e82ab7 MasterSlave check for errors on get_slave_status calls 2017-11-09 11:40:58 -03:00