pingcap / dumpling

Dumpling is a fast, easy-to-use tool written by Go for dumping data from the database(MySQL, TiDB...) to local/cloud(S3, GCP...) in multifarious formats(SQL, CSV...).
Apache License 2.0
279 stars 85 forks source link

dump: fix dump TiDB snapshot inconsistent problem #357

Closed lichunzhu closed 2 years ago

lichunzhu commented 2 years ago

What problem does this PR solve?

The number of files exported by dumpling may not match the timestamp indicated in metadata if there are changes to the library table data during the TiDB export using Dumpling default configuration.

If we sets another session variable (not the snapshot variable) in the problematic version of TiDB after setting the snapshot, it will clear the previously set snapshot variable and dumpling will export data in a non-snapshot status. Dumpling will configure SESSION TRANSACTION ISOLATION LEVEL after setting snapshot, which will trigger this issue.

What is changed and how it works?

Don't set SESSION TRANSACTION ISOLATION LEVEL for specific TiDB versions.

Check List

Tests

Related changes

Release note

ti-chi-bot commented 2 years ago

[REVIEW NOTIFICATION]

This pull request has been approved by:

To complete the pull request process, please ask the reviewers in the list to review by filling /cc @reviewer in the comment. After your PR has acquired the required number of LGTMs, you can assign this pull request to the committer in the list by filling /assign @committer in the comment to help you merge this pull request.

The full list of commands accepted by this bot can be found here.

Reviewer can indicate their review by submitting an approval review. Reviewer can cancel approval by submitting a request changes review.
lichunzhu commented 2 years ago

/merge

ti-chi-bot commented 2 years ago

This pull request has been accepted and is ready to merge.

Commit hash: 82a73bf35287357c3b7589934275470499e84a07

ti-chi-bot commented 2 years ago

In response to a cherrypick label: new pull request created: #358.

ti-chi-bot commented 2 years ago

In response to a cherrypick label: new pull request created: #359.

ti-chi-bot commented 2 years ago

In response to a cherrypick label: cannot checkout 5.2: error checking out 5.2: exit status 1. output: error: pathspec '5.2' did not match any file(s) known to git

lichunzhu commented 2 years ago

/cherry-pick release-5.2

ti-chi-bot commented 2 years ago

@lichunzhu: new pull request created: #366.

In response to [this](https://github.com/pingcap/dumpling/pull/357#issuecomment-940620920): >/cherry-pick release-5.2 Instructions for interacting with me using PR comments are available [here](https://prow.tidb.io/command-help). If you have questions or suggestions related to my behavior, please file an issue against the [ti-community-infra/tichi](https://github.com/ti-community-infra/tichi/issues/new?title=Prow%20issue:) repository.