Commit Graph

5168 Commits

Author SHA1 Message Date
Sveta Smirnova
3d4751f428 PR-388 - Check undefined skip check slave lag schema change
- Merge branch '3.x' into HEAD
- Improve the fix, so it does not fail when $slave_to_skip->{P} is not
  defined while $slave->{dsn}->{P} is defined
- Improve the fix for pt-table-checksum (PR-230)
- Added test cases for this fix for pt-table-checksum and pt-osc
- Adjusted replica info repository options in test for pt-1760.t, so it
  does not break regression tests for pt-osc on 5.7
2023-11-08 19:42:35 +03:00
Yoann La Cancellera
208708a58b Add: concurrent SSTs handling
It is a thing: 2 nodes joining at the same time, with 2 JOINERs and 2
DONORs cluster-wide
It can happen on operators with 2 garbd joining at the same time

Before, pt-galera-log-explainer was using SST metadata naively.
Basically if a node was DONOR and we found a "transfer completed"
message, we assumed the donor name we found is the correct one.
So for concurrent SSTs, donors were swapping names.

Now, it is handled by a map, indexed by a donor name. To know if a node
is actual donor or not, it now compare timestamps of events. It assumes
both "selected donor" and "shifting DONOR" messages should have happen
in less than 0.01 secs to avoid any conflict.

Regression tests coming in next commit with an operator logs having
concurrent SSTs. Another conflicts was sometimes breaking the test
depending on the order on which we read files, hence why it's not added
here yet
2023-11-07 18:08:24 +01:00
Yoann La Cancellera
117d683872 Change: simplify verbose mode 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
161c2af084 Fix: pointer dereference if votes was missing 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
12ea8033a9 Add: proper error handling for files 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
b0477bc37f Fix: don't cut node name if it's an ip
rare case, but it was not producing great results
regression tests will come for this
2023-11-07 18:08:24 +01:00
Yoann La Cancellera
94c89c2892 Add: requirements in README.rst 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
72c55a15ec Remove: extra space in --version out 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
3ad09d8418 Update README.rst 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
a7a4b4adca Add: --no-color regression test 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
6613880a9b Change: README to pt standard, regex-list --json 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
0d554e9515 Add: merge regression tests 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
75ce300d7c Fix: "not found" should not be an error
if it shows nothing, it can be understood as easily as a grep returning
nothing
adding an error log is too verbose
2023-11-07 18:08:24 +01:00
Yoann La Cancellera
fea9be26bd Add: regression tests 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
6d6f30372c Fix: error msg with uppercase, usage missed pt- 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
5638387713 Fix: --version formatting 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
bbba087a83 Fix: crash when timeline is empty
It was due to a silly regression when reformatting the main.go
The function iterating was doing too many things, and returning an error
when nothing was found, and a "continue" was done on the main
"timelineFromPaths" loop
It is now a simple foreach loop that does not return error so we have to
check if the localtimeline slice is empty
2023-11-07 18:08:24 +01:00
Yoann La Cancellera
7f8071ce3f Simplified the main loop 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
5bbb11df17 Add: merge by directory, Simplified: timeline merges 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
e03fe1801c Fix: forgot to inherit conflicts 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
b054429057 Improve: "not found" error handling 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
b4cad31e77 Add pt-galera-log-explainer 2023-11-07 18:08:19 +01:00
Sveta Smirnova
c1b751927c Follow_PR-429_unstop_option_with_testcase
- Added information message about removing sentinel file
- Added cross-links for options --stop and --unstop in docs
- Added test case
2023-11-07 16:25:50 +03:00
Francois Lallart
db8207b1ed Add --unstop option to remove sentinel file. 2023-11-07 16:07:47 +03:00
Sveta Smirnova
f0af7114e7 PT-2279 - Option --charset is confusing when set to utf8mb4
- Added pattern check for utf8 character set instead of eq
- Added test cases
2023-11-06 23:26:54 +03:00
Sveta Smirnova
d268165df0 PT-2064 - pt-archiver: Can't call method "rollback" on an undefined value
- Added regression test
2023-11-06 19:34:28 +03:00
Sveta Smirnova
6ac26fd1d8 Merge branch '3.x' into HEAD 2023-11-06 18:59:44 +03:00
Ilaria Migliozzi
8e4824813f added new hook before_die (#509)
* added new hook before_die

before die, the script calls this hook in oder to execute extra user's 
operations

* PR-509 -  added new hook before_die

- Added test cases

---------

Co-authored-by: Sveta Smirnova <sveta.smirnova@percona.com>
2023-11-06 18:22:14 +03:00
Viktor Szépe
a15207e6cd Introduce EditorConfig (#681)
* Introduce EditorConfig

* Fix EC

* Reduce .editorconfig
2023-11-06 17:47:59 +03:00
dependabot[bot]
2f53e02791 Bump aquasecurity/trivy-action from 0.13.0 to 0.13.1 (#704)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.13.0 to 0.13.1.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.13.0...0.13.1)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 17:46:11 +03:00
Sveta Smirnova
17820dbf23 PR-471 - Support adding explain output for slow query in JSON report as well
- Put fix into the proper place
- Added test cases
2023-11-06 17:21:28 +03:00
Sveta Smirnova
ab397667e6 Merge branch '3.x' into HEAD 2023-11-06 15:35:23 +03:00
Sveta Smirnova
ed7481a35e PT-2211 - This pstack return error code line number
- Added test case sample for this case
- Adjusted sample results for t/pt-pmp/samples/stacktrace003.in that originally
  returned wrong data
2023-11-03 02:45:30 +03:00
Sveta Smirnova
1407b5380b PT-2109 - pt-mysql-summary throws an error when using sql_mode="ANSI_QUOTES" (#696)
* PT-2109 - pt-mysql-summary throws an error when using sql_mode="ANSI_QUOTES"

- Fixed issues still visible with SQL mode ANSI_QUOTES
- Added test cases for this mode

* PT-2109 - pt-mysql-summary throws an error when using sql_mode="ANSI_QUOTES"

- Removed keyring plugin check in the beginning of the test, because
  reported error would show up even on servers that do not have keyring
  plugin installed. Same applies to wsrep_on check and Percona Server
  features checks.
- Removed temporary dir setup, because not needed for this test.
2023-11-03 01:46:32 +03:00
Sveta Smirnova
817673755f PT-2207 - pt-archiver doesn't work when ANSI_QUOTES is set in sql_mode (#694)
- Implemented suggestion from the bug report
- Added test case
2023-11-02 15:06:46 +03:00
Viktor Szépe
bb4c67498c Fix newly discovered typos (#691) 2023-11-02 15:05:55 +03:00
dependabot[bot]
40c52e6a58 Bump github.com/alecthomas/kong from 0.8.0 to 0.8.1 (#700)
Bumps [github.com/alecthomas/kong](https://github.com/alecthomas/kong) from 0.8.0 to 0.8.1.
- [Commits](https://github.com/alecthomas/kong/compare/v0.8.0...v0.8.1)

---
updated-dependencies:
- dependency-name: github.com/alecthomas/kong
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 21:21:08 +03:00
dependabot[bot]
1274532791 Bump k8s.io/api from 0.28.2 to 0.28.3 (#701)
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.28.2 to 0.28.3.
- [Commits](https://github.com/kubernetes/api/compare/v0.28.2...v0.28.3)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 21:20:47 +03:00
dependabot[bot]
35a860bf8f Bump aquasecurity/trivy-action from 0.12.0 to 0.13.0 (#703)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.12.0...0.13.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 20:50:13 +03:00
dependabot[bot]
bc8aac9017 Bump github.com/google/uuid from 1.3.1 to 1.4.0 (#702)
Bumps [github.com/google/uuid](https://github.com/google/uuid) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/google/uuid/releases)
- [Changelog](https://github.com/google/uuid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/uuid/compare/v1.3.1...v1.4.0)

---
updated-dependencies:
- dependency-name: github.com/google/uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 20:49:47 +03:00
dependabot[bot]
22a16be316 Bump golang.org/x/crypto from 0.13.0 to 0.14.0 (#698)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/crypto/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 20:46:32 +03:00
dependabot[bot]
44c679ec0a Bump golang.org/x/net from 0.13.0 to 0.17.0 (#699)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.13.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.13.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 20:46:09 +03:00
Sveta Smirnova
62d7c70c43 Release v3.5.5 (#692)
* PT-2255 Release notes for Percona Toolkit version 3.5.5
	modified:   Makefile.PL
	modified:   config/sphinx-build/conf.py
	modified:   docs/release_notes.rst

* PT-2255 Release notes for Percona Toolkit version 3.5.5

- Added missed contributions

* PT-2255 Release notes for Percona Toolkit version 3.5.5

- Added PT-2258

* Changelog for version 3.5.5

Added Changelog, updated version

* Fix version (#690)

* Release 3.5.5

- Updated Go version to 1.21

* Update go.mod

---------

Co-authored-by: Alina Derkach <alina.derkach@percona.com>
Co-authored-by: EvgeniyPatlan <evgeniy.patlan@percona.com>
2023-10-03 17:58:02 +03:00
Sveta Smirnova
d4ec358f35 Update toolkit.yml (#693) 2023-10-03 17:54:00 +03:00
Alina Derkach
d911525b13 PT-2255 Release notes for Percona Toolkit version 3.5.5 (#679)
* PT-2255 Release notes for Percona Toolkit version 3.5.5
	modified:   Makefile.PL
	modified:   config/sphinx-build/conf.py
	modified:   docs/release_notes.rst

* PT-2255 Release notes for Percona Toolkit version 3.5.5

- Added missed contributions

* PT-2255 Release notes for Percona Toolkit version 3.5.5

- Added PT-2258

* Update the release date in release_notes.rst

---------

Co-authored-by: Sveta Smirnova <sveta.smirnova@percona.com>
Co-authored-by: Sveta Smirnova <svetasmirnova@users.noreply.github.com>
2023-10-03 16:31:54 +03:00
Sveta Smirnova
df73533d29 Changelog for v3.5.5 (#684)
* PT-2255 Release notes for Percona Toolkit version 3.5.5
	modified:   Makefile.PL
	modified:   config/sphinx-build/conf.py
	modified:   docs/release_notes.rst

* PT-2255 Release notes for Percona Toolkit version 3.5.5

- Added missed contributions

* PT-2255 Release notes for Percona Toolkit version 3.5.5

- Added PT-2258

* Changelog for version 3.5.5

Added Changelog, updated version

* Update Changelog

Co-authored-by: Alina Derkach <alina.derkach@percona.com>

---------

Co-authored-by: Alina Derkach <alina.derkach@percona.com>
2023-10-03 16:29:53 +03:00
Sveta Smirnova
46fd033994 PT-2258 - Pass tbl as argument for on_copy_rows_after_nibble (#682)
- Implemented the feature
- Created test case
v3.5.5
2023-09-22 13:35:29 +03:00
Sveta Smirnova
d71ac56f14 Merge CONTRIBUTE.md and CONTRIBUTING.md (#683)
- These two files exist for the same purpose but have different content
  that could confuse users. Better to keep only CONTRIBUTING.md with all
details, related to contributions.
2023-09-21 16:23:19 +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
dependabot[bot]
36a183e2aa Bump k8s.io/api from 0.28.1 to 0.28.2 (#680)
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.28.1 to 0.28.2.
- [Commits](https://github.com/kubernetes/api/compare/v0.28.1...v0.28.2)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-18 17:14:51 +03:00