[lightning] Lightning importinto can skip new input because of a finished checkpoint from an older run
- Dominant language
- Go
- Stars
- 40.5k
- Forks
- 6.2k
- PR merge metrics
- PR metrics pending
Description
## Bug Report
> Evidence status: confirmed.
### 1. Minimal reproduce step (Required)
Retain a finished checkpoint for db.t with the supported keep-after-success strategy or reuse its checkpoint DSN; start another run for db.t with a different nonempty input file; observe SubmitAndWait result and SubmitTable count.
### 2. What did you expect to see? (Required)
The checkpoint is accepted only when its input/config/target fingerprint matches the current run; otherwise the table is submitted or the run fails closed.
### 3. What did you see instead? (Required)
SubmitAndWait returns nil and logs no jobs to execute while SubmitTable is called zero times for the new nonempty input.
### 4. What is your TiDB version? (Required)
master 13282a8bd06b
Likely root cause and fix direction
TableCheckpoint is keyed by table name and stores status/job/group but no input fingerprint; the Finished fast path skips unconditionally. The importinto success path implements only checkpoint removal and leaves rename/origin checkpoints reusable in place.
Contributor guide
Research direction
Start with TableCheckpoint and the importinto success path described in the report; trace the Finished fast path used by SubmitAndWait and the checkpoint removal or rename handling. Reproduce with a retained checkpoint for db.t and a different nonempty input, then verify the new run is submitted or fails closed and SubmitTable is no longer skipped.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100