Commit Graph

5055 Commits

Author SHA1 Message Date
dependabot[bot]
fef6fa4022 Bump k8s.io/api from 0.28.3 to 0.28.4
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.28.3 to 0.28.4.
- [Commits](https://github.com/kubernetes/api/compare/v0.28.3...v0.28.4)

---
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>
2023-11-20 09:18:12 +00:00
Viktor Szépe
c6b6a4086d Update src/go/lib/config/config_test.go
Co-authored-by: Sveta Smirnova <svetasmirnova@users.noreply.github.com>
2023-11-19 22:13:53 +01:00
Viktor Szépe
ed7f4b3e39 Update src/go/lib/config/config_test.go
Co-authored-by: Sveta Smirnova <svetasmirnova@users.noreply.github.com>
2023-11-19 22:13:47 +01:00
Viktor Szépe
61021d9ce6 Update src/go/lib/config/config_test.go
Co-authored-by: Sveta Smirnova <svetasmirnova@users.noreply.github.com>
2023-11-19 22:13:42 +01:00
Viktor Szépe
629ded3960 Make OrderedBy's return type exported 2023-11-17 20:47:54 +01:00
Viktor Szépe
1c5048546a Fix variable collision with imported package name 2023-11-17 20:38:08 +01:00
Viktor Szépe
2ea8f4036c Fix MongoDB Security 2023-11-17 20:34:35 +01:00
Viktor Szépe
65358b715f Fix MongoDB StorageEngine 2023-11-17 20:32:07 +01:00
Sveta Smirnova
b862945245 PT-2281 - provide container name for copying files in the dump
- Changed getIndividualFiles function and Dumper data structure, so we
  can specify container name for PXC and other operators which store
  logs in the separate container.
2023-11-14 16:55:56 +03:00
Yoann La Cancellera
7400fd876e Remove old comments, dead code 2023-11-13 21:31:22 +01:00
Artem Gavrilov
8b5fbb3f68 Merge pull request #711 from percona/dependabot/github_actions/aquasecurity/trivy-action-0.14.0
Bump aquasecurity/trivy-action from 0.13.1 to 0.14.0
2023-11-13 17:51:22 +02:00
Artem Gavrilov
309ba5198f Merge pull request #710 from percona/dependabot/go_modules/go.mongodb.org/mongo-driver-1.13.0
Bump go.mongodb.org/mongo-driver from 1.12.1 to 1.13.0
2023-11-13 17:50:52 +02:00
dependabot[bot]
6897a86cea Bump go.mongodb.org/mongo-driver from 1.12.1 to 1.13.0
Bumps [go.mongodb.org/mongo-driver](https://github.com/mongodb/mongo-go-driver) from 1.12.1 to 1.13.0.
- [Release notes](https://github.com/mongodb/mongo-go-driver/releases)
- [Commits](https://github.com/mongodb/mongo-go-driver/compare/v1.12.1...v1.13.0)

---
updated-dependencies:
- dependency-name: go.mongodb.org/mongo-driver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 15:48:18 +00:00
Artem Gavrilov
27d91975bf Merge pull request #709 from percona/dependabot/go_modules/golang.org/x/crypto-0.15.0
Bump golang.org/x/crypto from 0.14.0 to 0.15.0
2023-11-13 17:47:35 +02:00
Sveta Smirnova
f9c43e9bae ARM64 support for macOS
- Added option darwin-arm64 into Go tools Makefile
- Changed --delimiter option to its short version that works on all
  platforms
- Changed "Mongo tools" comments to "Go tools", because now Go tools are
  not only for Mongo
2023-11-13 17:40:58 +03:00
dependabot[bot]
5391c75878 Bump aquasecurity/trivy-action from 0.13.1 to 0.14.0
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.13.1 to 0.14.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.13.1...0.14.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>
2023-11-13 09:27:14 +00:00
dependabot[bot]
be2d60618b Bump golang.org/x/crypto from 0.14.0 to 0.15.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.15.0.
- [Commits](https://github.com/golang/crypto/compare/v0.14.0...v0.15.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>
2023-11-13 09:12:39 +00:00
Sveta Smirnova
9f5fc7e50a Merge pull request #388 from cswingler/check_undefined_skip_check_slave_lag_schema_change
Check undefined skip check slave lag schema change

Contirbutor signed corporate SLA as stated in https://github.com/percona/percona-toolkit/pull/230#issuecomment-308564024
2023-11-12 23:31:30 +03:00
Sveta Smirnova
be2310f2b3 Merge pull request #471 from perfectayush/support-query-explain-in-json-output
Support adding explain output for slow query in JSON report as well
2023-11-12 23:28:49 +03:00
Sveta Smirnova
00149ab10a Merge pull request #516 from ikruglov/PT-1860-pt-osc-case-insensitive
PT-1860 make pt-osc respect case insesitive lookup on Windows and osx
2023-11-12 23:28:35 +03:00
Sveta Smirnova
2b440638c4 Merge pull request #604 from mikrobi/patch-1
Only rollback destination if it's defined
2023-11-12 23:28:13 +03:00
Sveta Smirnova
cfb1065278 Merge pull request #628 from baotiao/PT-2211_ptpmp_return_error_line
PT-2211 This pstack return error code line number
2023-11-12 23:27:58 +03:00
Sveta Smirnova
927b34904e Merge pull request #705 from percona/PT-2279_Option_charset_is_confusing_when_set_to_utf8mb4
PT-2279 - Option --charset is confusing when set to utf8mb4
2023-11-12 23:27:38 +03:00
Sveta Smirnova
52cc6c11de Follow PR-429 unstop option with testcase
- Review by Evgeniy - print path to the sentinel file in case of error
2023-11-12 23:26:14 +03:00
Sveta Smirnova
3e1e9b8425 PT-1860 make pt-osc respect case insesitive lookup on Windows and osx #516
- Run update-modules
- Adjusted fix, so it does not create extra variable to hold $EVAL_ERROR
- Adjusted test case, so it runs on Linux
2023-11-09 17:16:43 +03:00
Sveta Smirnova
7abd3397d0 Merge pull request #708 from percona/sphinx-build_errors
sphinx-build errors
2023-11-09 16:43:46 +03:00
Sveta Smirnova
e4583b0542 Merge branch '3.x' into HEAD 2023-11-09 13:43:17 +03:00
Sveta Smirnova
33d2bfc8a4 sphinx-build errors
- Updated deprecated format in extlinks
2023-11-09 13:33:10 +03:00
Ivan Kruglov
8d38d0900a PT-1860 make pt-osc respect case insesitive lookup on Windows and osx 2023-11-08 20:16:31 +01:00
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
14b6a77d1e Add: translate tests 2023-11-07 18:08:51 +01:00
Yoann La Cancellera
602ca34006 Commenting out whois+sed, will be re-added later 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
230bece1e1 Refactoring: migrate translations to singleton
It was using maps in each context, which would be merged between
contexts, then injected each time we needed a message to display.

It had a limitation on complicated operator setups: historical
information would be overriden by newer associations.
(e.g, that IP was for node0 yesterday, now it's node1, so associations
have been overwritten and incorrect)

It also introduced complexity, such as forcing to define closures too
many times, merging maps, it would be harder to debug, and every files
were starting from empty translation maps.
Moreover, iterating on maps is guaranteed to be random so it could create
hard-to-debug output variations on complex cases.

Now it is a singleton in translate package, still using maps but now it
associates an array of "units" storing the timestamp with each piece of information.
It is protected by rwmutex, because map are not threadsafe. (there's no
parallel processing for now)

No regressions, and it passes "operator_ambiguous_ips_list_all_no_color"
where the old system failed.
It nows also can be used as an easy to read source of information in
itself
2023-11-07 18:08:24 +01:00
Yoann La Cancellera
4c2272eff9 Add: inconsistent vote regex corner-case 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
978daa6eab Add: shortuuid check, new date layout found 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
478066d15b Add: same ip/name limitation on README.rst 2023-11-07 18:08:24 +01:00
Yoann La Cancellera
f5d0ef77d1 Add: operator member assocations regex
It existed for non-operator setup, but was not working for operators due
to k8s logs not interpreting newlines and tabs
This operator version re-uses existing regular regex handlers directly
2023-11-07 18:08:24 +01:00
Yoann La Cancellera
41a593b294 Improve: main_test
It must test multiple times to remove doubts.
As the tool is reading files and relying on maps, their access order are
random. It can impact some translations
2023-11-07 18:08:24 +01:00
Yoann La Cancellera
ce6ea4e79c Remove: propagation of ip propagation to older hash, Add: operator regression test
When adding "ownip", it was also propagating the new IP to the old hash.
But with operators, when IP where changing hash will also change, so
linking the new IP to old hash is anachronic. It is not wrong, but
depending on the order of map merges, the newest information could have
been overriden depending on the order of events.

That situation was producing X(2*number of conflicts) versions of output for operators, with
different md5sum, which could produce false-positive regression tests

So currently some information are not linked anymore, so some IPs are
not translated even though they could, but it is a limitation of using
maps as source of truth, as they are not versioned
2023-11-07 18:08:24 +01: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