diff --git a/br/pkg/lightning/lightning.go b/br/pkg/lightning/lightning.go index 881a58d62acdc..0f300893451bd 100644 --- a/br/pkg/lightning/lightning.go +++ b/br/pkg/lightning/lightning.go @@ -550,7 +550,8 @@ func (l *Lightning) run(taskCtx context.Context, taskCfg *config.Config, o *opti var keyspaceName string if taskCfg.TikvImporter.Backend == config.BackendLocal { - if taskCfg.TikvImporter.KeyspaceName == "" { + keyspaceName = taskCfg.TikvImporter.KeyspaceName + if keyspaceName == "" { keyspaceName, err = getKeyspaceName(db) if err != nil { o.logger.Warn("unable to get keyspace name, lightning will use empty keyspace name", zap.Error(err)) diff --git a/br/pkg/lightning/lightning_serial_test.go b/br/pkg/lightning/lightning_serial_test.go index faf82ab7eb222..86410db02c567 100644 --- a/br/pkg/lightning/lightning_serial_test.go +++ b/br/pkg/lightning/lightning_serial_test.go @@ -63,11 +63,12 @@ func TestRun(t *testing.T) { path, _ := filepath.Abs(".") ctx := context.Background() db, mock, err := sqlmock.New() + logger, buffer := log.MakeTestLogger() require.NoError(t, err) o := &options{ promRegistry: lightning.promRegistry, promFactory: lightning.promFactory, - logger: log.L(), + logger: logger, db: db, } cfgCheckpoint := config.Config{ @@ -91,10 +92,12 @@ func TestRun(t *testing.T) { cfgKeyspaceName.Checkpoint = cfgCheckpoint.Checkpoint err = lightning.run(ctx, cfgKeyspaceName, o) require.EqualError(t, err, "[Lightning:Checkpoint:ErrUnknownCheckpointDriver]unknown checkpoint driver 'invalid'") + require.Contains(t, buffer.String(), `"acquired keyspace name","keyspaceName":""`) - err = lightning.run(ctx, cfgKeyspaceName, o) cfgKeyspaceName.TikvImporter.KeyspaceName = "test" + err = lightning.run(ctx, cfgKeyspaceName, o) require.EqualError(t, err, "[Lightning:Checkpoint:ErrUnknownCheckpointDriver]unknown checkpoint driver 'invalid'") + require.Contains(t, buffer.String(), `"acquired keyspace name","keyspaceName":"test"`) require.NoError(t, mock.ExpectationsWereMet()) err = lightning.run(ctx, &config.Config{