Skip to content
This repository has been archived by the owner on Dec 8, 2021. It is now read-only.

restore: fix gc life time not recovered after table restore #218

Merged
merged 8 commits into from
Jul 25, 2019

Conversation

amyangfei
Copy link
Contributor

What problem does this PR solve?

feedback from DBA, sometimes after import data successfully with lightning, tikv_gc_life_time remains 100h0m0s and not recovers to the original value (often 10m0s).

What is changed and how it works?

This is caused by concurrent execution of restore table, and the tikv_gc_life_time update timeline maybe intersect like following:

thread1:  get gc=10m ---> set gc=100h -----> checksum ------> rollback gc to 10m
thread2:  -------------------------------> get gc=100h -----> checksum -----> rollback gc to 100h

We query tikv_gc_life_time from downstream database before execution of restore table once

Check List

Tests

  • Unit test
  • Integration test

Related changes

  • Need to cherry-pick to the release branch

@amyangfei amyangfei added priority/normal type/bug-fix Bug fix Should Cherry-pick This PR should be cherry-picked back the previous release train labels Jul 23, 2019
@amyangfei amyangfei added the status/PTAL This PR is ready for review. Add this label back after committing new changes label Jul 23, 2019
tests/concurrent-restore/run.sh Outdated Show resolved Hide resolved
lightning/restore/restore.go Outdated Show resolved Hide resolved
lightning/restore/restore.go Outdated Show resolved Hide resolved
lightning/restore/restore.go Outdated Show resolved Hide resolved
tests/concurrent-restore/run.sh Outdated Show resolved Hide resolved
@lance6716
Copy link
Contributor

/run-all-tests

Copy link
Collaborator

@kennytm kennytm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rest LGTM

tests/concurrent-restore/run.sh Outdated Show resolved Hide resolved
Copy link
Collaborator

@kennytm kennytm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kennytm kennytm added status/LGT1 One reviewer already commented LGTM (LGTM1) and removed status/PTAL This PR is ready for review. Add this label back after committing new changes labels Jul 24, 2019
@amyangfei
Copy link
Contributor Author

/run-all-tests

Copy link
Contributor

@zier-one zier-one left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kennytm kennytm added status/LGT2 Two reviewers already commented LGTM, ready for merge (LGTM2) and removed status/LGT1 One reviewer already commented LGTM (LGTM1) labels Jul 25, 2019
@kennytm kennytm merged commit ae59251 into pingcap:master Jul 25, 2019
@amyangfei amyangfei deleted the fix-gc-time-recover branch July 25, 2019 14:03
amyangfei added a commit to amyangfei/tidb-lightning that referenced this pull request Jul 27, 2019
@kennytm kennytm removed the Should Cherry-pick This PR should be cherry-picked back the previous release train label Aug 26, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status/LGT2 Two reviewers already commented LGTM, ready for merge (LGTM2) type/bug-fix Bug fix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants