Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ddl: limit the concurrent number of ingest jobs to 1 (#43210) #43262

Merged
Prev Previous commit
Next Next commit
update bazel and fix linter
  • Loading branch information
tangenta authored and ti-chi-bot committed Apr 20, 2023

Verified

This commit was signed with the committer’s verified signature.
sagikazarmark Márk Sági-Kazár
commit 20330a0f5531f3e4b3d1f26810ebde3caa8e6084
1 change: 1 addition & 0 deletions ddl/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -220,6 +220,7 @@ go_test(
deps = [
"//autoid_service",
"//config",
"//ddl/ingest",
"//ddl/internal/callback",
"//ddl/placement",
"//ddl/schematracker",
6 changes: 3 additions & 3 deletions ddl/backfilling_test.go
Original file line number Diff line number Diff line change
@@ -64,19 +64,19 @@ func TestPickBackfillType(t *testing.T) {
},
}
variable.EnableFastReorg.Store(true)
tp, err := pickBackfillType(mockJob, mockCtx, uk)
tp, err := pickBackfillType(mockCtx, mockJob, uk)
require.NoError(t, err)
require.Equal(t, tp, model.ReorgTypeTxn)

mockJob.ReorgMeta.ReorgTp = model.ReorgTypeNone
ingest.LitInitialized = false
tp, err = pickBackfillType(mockJob, mockCtx, uk)
tp, err = pickBackfillType(mockCtx, mockJob, uk)
require.NoError(t, err)
require.Equal(t, tp, model.ReorgTypeTxnMerge)

mockJob.ReorgMeta.ReorgTp = model.ReorgTypeNone
ingest.LitInitialized = true
tp, err = pickBackfillType(mockJob, mockCtx, uk)
tp, err = pickBackfillType(mockCtx, mockJob, uk)
require.NoError(t, err)
require.Equal(t, tp, model.ReorgTypeLitMerge)
}
6 changes: 3 additions & 3 deletions ddl/index.go
Original file line number Diff line number Diff line change
@@ -623,7 +623,7 @@ func (w *worker) onCreateIndex(d *ddlCtx, t *meta.Meta, job *model.Job, isPK boo
case model.StateNone:
// none -> delete only
var reorgTp model.ReorgType
reorgTp, err = pickBackfillType(job, w.ctx, indexInfo.Unique)
reorgTp, err = pickBackfillType(w.ctx, job, indexInfo.Unique)
if err != nil {
break
}
@@ -715,7 +715,7 @@ func (w *worker) onCreateIndex(d *ddlCtx, t *meta.Meta, job *model.Job, isPK boo
}

// pickBackfillType determines which backfill process will be used.
func pickBackfillType(job *model.Job, ctx context.Context, unique bool) (model.ReorgType, error) {
func pickBackfillType(ctx context.Context, job *model.Job, unique bool) (model.ReorgType, error) {
if job.ReorgMeta.ReorgTp != model.ReorgTypeNone {
// The backfill task has been started.
// Don't change the backfill type.
@@ -839,7 +839,7 @@ func doReorgWorkForCreateIndexMultiSchema(w *worker, d *ddlCtx, t *meta.Meta, jo
func doReorgWorkForCreateIndex(w *worker, d *ddlCtx, t *meta.Meta, job *model.Job,
tbl table.Table, indexInfo *model.IndexInfo) (done bool, ver int64, err error) {
var reorgTp model.ReorgType
reorgTp, err = pickBackfillType(job, w.ctx, indexInfo.Unique)
reorgTp, err = pickBackfillType(w.ctx, job, indexInfo.Unique)
if err != nil {
return false, ver, err
}