pingcap / pingcap/tidb

[lightning] Lightning importinto can skip new input because of a finished checkpoint from an older run

Open
#70,039 0 comments 0 reactions 0 assignees View on GitHub
component/lightning found-by-ai may-affects-7.5 may-affects-8.1 may-affects-8.5 severity/critical type/bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.