Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.

br: Remove statement from closure to prevent concurrent operation during backup system table #1446

Closed
wants to merge 796 commits into from

Conversation

joccau
Copy link
Member

@joccau joccau commented Nov 24, 2021

What problem does this PR solve?

Issue Number: close pingcap/tidb#29710

Cherry-pick from pingcap/tidb#29730

What is changed and how it works?

Release note

  • No release note

lichunzhu and others added 30 commits December 30, 2020 16:30
* add opentracer and enable opentracing configuration
* add error retry for checksum by tikv

* resolve comments

* add retryable error check
* gcs: fix url parse panic

* add test

Co-authored-by: Neil Shen <overvenus@gmail.com>
…gcap#528)

* check row value count to avoid unexpected encode result

* check the '_tidb_row_id' field

* resolve comments

* fix issue related to '_tidb_rowid' and move column count to tidb encoder

* add tidb_opt_write_row_id session var

* fix test

* resolve comments

* update tidb to apply tidb#22062

* fix test
* restore: try to create tables in parallel

* glue: fix error condition test for db close

* restore, glue: remove duplicate db pool implementation

* restore: try to prevent db connection too early

* restore: try to prevent db connection too early

* restore: try to make restore schema run parallel totally

* restore: remove impl&test of tidb#InitSchema

* restore: make restore schema run parallelly

* restore: remove db connection control

* restore: a little change of restore schema schedule

* wip

* restore: keep restore schema job hold the same session(DB connection)

* restore: fix log message error

* restore: remove purpose array for `restoreSchemaWorker`

more details pingcap/tidb-lightning#502 (comment)

* restore: remove useless sql mode set code

for more pingcap/tidb-lightning#502 (comment)

* restore: restore view statements run after database|table created

for more: pingcap/tidb-lightning#502 (comment)

* restore: interrupt job producing when error happens

* util: add SQLDriver interface

* restore: make sure single restore schema job vs. single db session

* restore: run restore view schema statements in txn

* glue: add checkpoints.Session implementation(sqlConnSession)

* restore: close whole database connections after restore schema done

* restore: revert remove of `InitSchema`

for more: pingcap/tidb-lightning#502 (comment)

* glue: return a new error when sqlConnSesson.CommitTxn called

* Revert "util: add SQLDriver interface"

This reverts commit 3e2cc16b1037ea4dafdfc2cf0156ed4951f7a64f.

* glue: update GetSession(context.Context) for Glue interface

* glue: disable more methods of sqlConnSession

* restore: disable implicit initiation of `sync.WaitGroup`

* restore: cancel nil error throw when restore schema done

* restore: replace session map to pool

* restore: keep restore table statements ordered

* restore: assign single session to `restoreSchemaWorker#doJob`'s goroutine

* restore: add log for `restoreSchema`

* restore: add quit case when error thrown blocked

* restore: Improve the robustness of concurrency pattern

* restore: fix channel send/recv logic to avoid blocked forever occurs.

* restore: `sync.WaitGroup#Add` first when `restoreSchemaWorker#appendJob`

* restore: add impl of `schemaStmtType#String`

* restore: avoid to wait whole jobs done forever when goroutine of `doJob` exit unnormal

* restore: call cancel function when `makeJobs` exit

* restore: a few improvement

* test: add unit tests of `RestoreController#restoreSchema()`

Co-authored-by: lance6716 <lance6716@gmail.com>
Co-authored-by: glorv <glorvs@163.com>
* compatible for disk quota

Signed-off-by: Little-Wallace <bupt2013211450@gmail.com>

* unlock when err occur

Signed-off-by: Little-Wallace <bupt2013211450@gmail.com>

* fix delete

Signed-off-by: Little-Wallace <bupt2013211450@gmail.com>

* fix method name

Signed-off-by: Little-Wallace <bupt2013211450@gmail.com>

Co-authored-by: kennytm <kennytm@gmail.com>
Co-authored-by: glorv <glorvs@163.com>
* refactor external storage structure


Co-authored-by: kennytm <kennytm@gmail.com>
Signed-off-by: Neil Shen <overvenus@gmail.com>
also improved some logs

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
…nsistent (pingcap#685)

* fast fail when backuped table's cluster index option not consistent
* gcs: compatible with old gcs bug
* change redact log parameter name

* address comment

* update lightning.toml
* change redact log pamameter name
* stats: disable stats by default

* add test for disable stats

* set statsLease to -1 in restore
… backend (pingcap#551)

* temporarily disable the strict-mode value check in tidb backend since it's buggy

* add link to related issue
Signed-off-by: zhengjiajin <zhengjiajin@pingcap.com>
* *: unify start and end key in log
* restore: more log for split regoin
* *: move redact to its own package and redact Range
* *: unify zap peer and zap ranges

Signed-off-by: Neil Shen <overvenus@gmail.com>
sleepymole and others added 20 commits July 30, 2021 14:15
@ti-chi-bot
Copy link
Member

[REVIEW NOTIFICATION]

This pull request has not been approved.

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.

@ti-chi-bot
Copy link
Member

@joccau: This cherry pick PR is for a release branch and has not yet been approved by release team.
Adding the do-not-merge/cherry-pick-not-approved label.

To merge this cherry pick, it must first be approved by the collaborators.

AFTER it has been approved by collaborators, please ping the release team in a comment to request a cherry pick review.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@ti-chi-bot
Copy link
Member

@joccau: PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@joccau joccau closed this Nov 24, 2021
@joccau joccau deleted the fix-backup-sysTable branch November 30, 2021 03:23
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.