Skip to content

Commit 5f4110d

Browse files
authored
ddl: use latest PD address to register lightning (#48687) (#55936)
close #48680
1 parent ae4703a commit 5f4110d

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

ddl/index.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -831,7 +831,24 @@ func doReorgWorkForCreateIndex(w *worker, d *ddlCtx, t *meta.Meta, job *model.Jo
831831
job.RowCount = 0
832832
return false, ver, nil
833833
}
834-
bc, err = ingest.LitBackCtxMgr.Register(w.ctx, indexInfo.Unique, job.ID, job.ReorgMeta.SQLMode)
834+
var pdLeaderAddr string
835+
if d != nil {
836+
store, ok2 := d.store.(tikv.Storage)
837+
if ok2 {
838+
pdLeaderAddr = store.GetRegionCache().PDClient().GetLeaderAddr()
839+
}
840+
// happens in unit tests
841+
if !ok2 || pdLeaderAddr == "mockpd" {
842+
pdLeaderAddr = config.GetGlobalConfig().Path
843+
}
844+
}
845+
bc, err = ingest.LitBackCtxMgr.Register(
846+
w.ctx,
847+
indexInfo.Unique,
848+
job.ID,
849+
job.ReorgMeta.SQLMode,
850+
pdLeaderAddr,
851+
)
835852
if err != nil {
836853
err = tryFallbackToTxnMerge(job, err)
837854
return false, ver, errors.Trace(err)

ddl/ingest/backend_mgr.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,13 @@ func (m *backendCtxManager) init(memRoot MemRoot, diskRoot DiskRoot) {
4848
}
4949

5050
// Register creates a new backend and registers it to the backend context.
51-
func (m *backendCtxManager) Register(ctx context.Context, unique bool, jobID int64, _ mysql.SQLMode) (*BackendContext, error) {
51+
func (m *backendCtxManager) Register(
52+
ctx context.Context,
53+
unique bool,
54+
jobID int64,
55+
_ mysql.SQLMode,
56+
pdAddr string,
57+
) (*BackendContext, error) {
5258
bc, exist := m.Load(jobID)
5359
if !exist {
5460
m.memRoot.RefreshConsumption()
@@ -61,6 +67,7 @@ func (m *backendCtxManager) Register(ctx context.Context, unique bool, jobID int
6167
logutil.BgLogger().Warn(LitWarnConfigError, zap.Int64("job ID", jobID), zap.Error(err))
6268
return nil, err
6369
}
70+
cfg.TiDB.PdAddr = pdAddr
6471
bd, err := createLocalBackend(ctx, cfg, glueLit{})
6572
if err != nil {
6673
logutil.BgLogger().Error(LitErrCreateBackendFail, zap.Int64("job ID", jobID), zap.Error(err))

ddl/ingest/config.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ func generateLightningConfig(memRoot MemRoot, jobID int64, unique bool) (*config
5151
} else {
5252
cfg.TikvImporter.DuplicateResolution = config.DupeResAlgNone
5353
}
54-
cfg.TiDB.PdAddr = tidbCfg.Path
5554
cfg.TiDB.Host = "127.0.0.1"
5655
cfg.TiDB.StatusPort = int(tidbCfg.Status.StatusPort)
5756
// Set TLS related information

0 commit comments

Comments
 (0)