Skip to content

Commit

Permalink
*: enable errcheck for nogo (#35704)
Browse files Browse the repository at this point in the history
ref #35345
  • Loading branch information
hawkingrei authored Jul 2, 2022
1 parent 65e0b8e commit e00ad2b
Show file tree
Hide file tree
Showing 42 changed files with 316 additions and 84 deletions.
16 changes: 10 additions & 6 deletions DEPS.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -1513,8 +1513,12 @@ def go_deps():
name = "com_github_kisielk_errcheck",
build_file_proto_mode = "disable_global",
importpath = "github.com/kisielk/errcheck",
sum = "h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY=",
version = "v1.5.0",
sum = "h1:cErYo+J4SmEjdXZrVXGwLJCE2sB06s23LpkcyWNrT+s=",
patch_args = ["-p1"],
patches = [
"//build/patches:com_github_kisielk_errcheck.patch",
],
version = "v1.6.1",
)
go_repository(
name = "com_github_kisielk_gotool",
Expand Down Expand Up @@ -3037,8 +3041,8 @@ def go_deps():
name = "org_golang_x_sys",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/sys",
sum = "h1:8w7RhxzTVgUzw/AH/9mUV5q0vMgy40SQRursCcfmkCw=",
version = "v0.0.0-20220408201424-a24fb2fb8a0f",
sum = "h1:wEZYwx+kK+KlZ0hpvP2Ls1Xr4+RWnlzGFwPP0aiDjIU=",
version = "v0.0.0-20220622161953-175b2fd9d664",
)
go_repository(
name = "org_golang_x_term",
Expand All @@ -3065,8 +3069,8 @@ def go_deps():
name = "org_golang_x_tools",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/tools",
sum = "h1:OKYpQQVE3DKSc3r3zHVzq46vq5YH7x8xpR3/k9ixmUg=",
version = "v0.1.11-0.20220513221640-090b14e8501f",
sum = "h1:loJ25fNOEhSXfHrpoGj91eCUThwdNX6u24rO1xnNteY=",
version = "v0.1.11",
)
go_repository(
name = "org_golang_x_xerrors",
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,7 @@ bazel_coverage_test: failpoint-enable bazel_ci_prepare

bazel_build: bazel_ci_prepare
mkdir -p bin
bazel --output_user_root=/home/jenkins/.tidb/tmp build --config=ci //tidb-server/... //br/cmd/... //cmd/...
bazel --output_user_root=/home/jenkins/.tidb/tmp build -k --config=ci //tidb-server/... //br/cmd/... //cmd/... --//build:with_nogo_flag=true
cp bazel-out/k8-fastbuild/bin/tidb-server/tidb-server_/tidb-server ./bin
cp bazel-out/k8-fastbuild/bin/cmd/importer/importer_/importer ./bin
cp bazel-out/k8-fastbuild/bin/tidb-server/tidb-server-check_/tidb-server-check ./bin
Expand Down
6 changes: 3 additions & 3 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ http_archive(

http_archive(
name = "bazel_gazelle",
sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
sha256 = "501deb3d5695ab658e82f6f6f549ba681ea3ca2a5fb7911154b5aa45596183fa",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.26.0/bazel-gazelle-v0.26.0.tar.gz",
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.26.0/bazel-gazelle-v0.26.0.tar.gz",
],
)

Expand Down
1 change: 1 addition & 0 deletions bindinfo/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ go_library(
"//parser/mysql",
"//parser/terror",
"//sessionctx",
"//sessionctx/sessionstates",
"//sessionctx/stmtctx",
"//sessionctx/variable",
"//types",
Expand Down
4 changes: 4 additions & 0 deletions br/cmd/tidb-lightning-ctl/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ func checkpointErrorIgnore(ctx context.Context, cfg *config.Config, tableName st
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer cpdb.Close()

return errors.Trace(cpdb.IgnoreErrorCheckpoint(ctx, tableName))
Expand All @@ -165,6 +166,7 @@ func checkpointErrorDestroy(ctx context.Context, cfg *config.Config, tls *common
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer cpdb.Close()

target, err := restore.NewTiDBManager(ctx, cfg.TiDB, tls)
Expand Down Expand Up @@ -222,6 +224,7 @@ func checkpointDump(ctx context.Context, cfg *config.Config, dumpFolder string)
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer cpdb.Close()

if err := os.MkdirAll(dumpFolder, 0o750); err != nil {
Expand Down Expand Up @@ -288,6 +291,7 @@ func getLocalStoringTables(ctx context.Context, cfg *config.Config) (err2 error)
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer cpdb.Close()

tableWithEngine, err := cpdb.GetLocalStoringTables(ctx)
Expand Down
2 changes: 1 addition & 1 deletion br/pkg/conn/conn.go
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ func (mgr *Mgr) Close() {
mgr.dom.Close()
}
tikv.StoreShuttingDown(1)
mgr.storage.Close()
_ = mgr.storage.Close()
}

mgr.PdController.Close()
Expand Down
1 change: 1 addition & 0 deletions br/pkg/gluetidb/glue.go
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ func (gs *tidbSession) ExecuteInternal(ctx context.Context, sql string, args ...
// At least call `next` once for triggering theirs side effect.
// (Maybe we'd better drain all returned rows?)
if rs != nil {
//nolint: errcheck
defer rs.Close()
c := rs.NewChunk(nil)
if err := rs.Next(ctx, c); err != nil {
Expand Down
2 changes: 2 additions & 0 deletions br/pkg/lightning/backend/local/duplicate.go
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,7 @@ func NewDuplicateManager(

// RecordDataConflictError records data conflicts to errorMgr. The key received from stream must be a row key.
func (m *DuplicateManager) RecordDataConflictError(ctx context.Context, stream DupKVStream) error {
//nolint: errcheck
defer stream.Close()
var dataConflictInfos []errormanager.DataConflictInfo
for {
Expand Down Expand Up @@ -498,6 +499,7 @@ func (m *DuplicateManager) saveIndexHandles(ctx context.Context, handles pending

// RecordIndexConflictError records index conflicts to errorMgr. The key received from stream must be an index key.
func (m *DuplicateManager) RecordIndexConflictError(ctx context.Context, stream DupKVStream, tableID int64, indexInfo *model.IndexInfo) error {
//nolint: errcheck
defer stream.Close()
indexHandles := makePendingIndexHandlesWithCapacity(0)
for {
Expand Down
1 change: 1 addition & 0 deletions br/pkg/lightning/backend/local/engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -876,6 +876,7 @@ func (e *Engine) loadEngineMeta() error {
}
return err
}
//nolint: errcheck
defer closer.Close()

if err = json.Unmarshal(jsonBytes, &e.engineMeta); err != nil {
Expand Down
2 changes: 1 addition & 1 deletion br/pkg/lightning/backend/local/iterator.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ func (d *dupDetectIter) Close() error {
if d.err == nil {
d.flush()
}
d.writeBatch.Close()
_ = d.writeBatch.Close()
return d.iter.Close()
}

Expand Down
8 changes: 5 additions & 3 deletions br/pkg/lightning/backend/local/local.go
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,7 @@ func (local *local) Close() {
local.engines = sync.Map{}

for _, engine := range allEngines {
engine.Close()
_ = engine.Close()
engine.unlock()
}

Expand Down Expand Up @@ -520,8 +520,7 @@ func (local *local) Close() {
local.logger.Warn("remove local db file failed", zap.Error(err))
}
}

local.tikvCli.Close()
_ = local.tikvCli.Close()
local.pdCtl.Close()
}

Expand Down Expand Up @@ -763,6 +762,7 @@ func (local *local) WriteToTiKV(
regionRange := intersectRange(region.Region, Range{start: start, end: end})
opt := &pebble.IterOptions{LowerBound: regionRange.start, UpperBound: regionRange.end}
iter := engine.newKVIter(ctx, opt)
//nolint: errcheck
defer iter.Close()

stats := rangeStats{}
Expand Down Expand Up @@ -1020,6 +1020,7 @@ func splitRangeBySizeProps(fullRange Range, sizeProps *sizeProperties, sizeLimit

func (local *local) readAndSplitIntoRange(ctx context.Context, engine *Engine, regionSplitSize int64, regionSplitKeys int64) ([]Range, error) {
iter := engine.newKVIter(ctx, &pebble.IterOptions{})
//nolint: errcheck
defer iter.Close()

iterError := func(e string) error {
Expand Down Expand Up @@ -1082,6 +1083,7 @@ func (local *local) writeAndIngestByRange(
}

iter := engine.newKVIter(ctxt, ito)
//nolint: errcheck
defer iter.Close()
// Needs seek to first because NewIter returns an iterator that is unpositioned
hasKey := iter.First()
Expand Down
2 changes: 1 addition & 1 deletion br/pkg/lightning/backend/local/localhelper.go
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ func fetchTableRegionSizeStats(ctx context.Context, db *sql.DB, tableID int64) (
if err != nil {
return errors.Trace(err)
}

//nolint: errcheck
defer rows.Close()
var (
regionID uint64
Expand Down
20 changes: 19 additions & 1 deletion br/pkg/lightning/checkpoints/checkpoints.go
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,7 @@ func OpenCheckpointsDB(ctx context.Context, cfg *config.Config) (DB, error) {
}
cpdb, err := NewMySQLCheckpointsDB(ctx, db, cfg.Checkpoint.Schema)
if err != nil {
db.Close()
_ = db.Close()
return nil, errors.Trace(err)
}
return cpdb, nil
Expand All @@ -549,12 +549,14 @@ func IsCheckpointsDBExists(ctx context.Context, cfg *config.Config) (bool, error
if err != nil {
return false, errors.Trace(err)
}
//nolint: errcheck
defer db.Close()
checkSQL := "SHOW DATABASES WHERE `DATABASE` = ?"
rows, err := db.QueryContext(ctx, checkSQL, cfg.Checkpoint.Schema)
if err != nil {
return false, errors.Trace(err)
}
//nolint: errcheck
defer rows.Close()
result := rows.Next()
if err := rows.Err(); err != nil {
Expand Down Expand Up @@ -664,6 +666,7 @@ func (cpdb *MySQLCheckpointsDB) Initialize(ctx context.Context, cfg *config.Conf
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer taskStmt.Close()
_, err = taskStmt.ExecContext(ctx, cfg.TaskID, cfg.Mydumper.SourceDir, cfg.TikvImporter.Backend,
cfg.TikvImporter.Addr, cfg.TiDB.Host, cfg.TiDB.Port, cfg.TiDB.PdAddr, cfg.TikvImporter.SortedKVDir,
Expand All @@ -682,6 +685,7 @@ func (cpdb *MySQLCheckpointsDB) Initialize(ctx context.Context, cfg *config.Conf
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer stmt.Close()

for _, db := range dbInfo {
Expand Down Expand Up @@ -745,6 +749,7 @@ func (cpdb *MySQLCheckpointsDB) Get(ctx context.Context, tableName string) (*Tab
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer engineRows.Close()
for engineRows.Next() {
var (
Expand All @@ -769,6 +774,7 @@ func (cpdb *MySQLCheckpointsDB) Get(ctx context.Context, tableName string) (*Tab
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer chunkRows.Close()
for chunkRows.Next() {
var (
Expand Down Expand Up @@ -831,12 +837,14 @@ func (cpdb *MySQLCheckpointsDB) InsertEngineCheckpoints(ctx context.Context, tab
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer engineStmt.Close()

chunkStmt, err := tx.PrepareContext(c, fmt.Sprintf(ReplaceChunkTemplate, cpdb.schema, CheckpointTableNameChunk))
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer chunkStmt.Close()

for engineID, engine := range checkpoints {
Expand Down Expand Up @@ -883,26 +891,31 @@ func (cpdb *MySQLCheckpointsDB) Update(taskCtx context.Context, checkpointDiffs
if e != nil {
return errors.Trace(e)
}
//nolint: errcheck
defer chunkStmt.Close()
rebaseStmt, e := tx.PrepareContext(c, rebaseQuery)
if e != nil {
return errors.Trace(e)
}
//nolint: errcheck
defer rebaseStmt.Close()
tableStatusStmt, e := tx.PrepareContext(c, tableStatusQuery)
if e != nil {
return errors.Trace(e)
}
//nolint: errcheck
defer tableStatusStmt.Close()
tableChecksumStmt, e := tx.PrepareContext(c, tableChecksumQuery)
if e != nil {
return errors.Trace(e)
}
//nolint: errcheck
defer tableChecksumStmt.Close()
engineStatusStmt, e := tx.PrepareContext(c, engineStatusQuery)
if e != nil {
return errors.Trace(e)
}
//nolint: errcheck
defer engineStatusStmt.Close()
for tableName, cpd := range checkpointDiffs {
if cpd.hasStatus {
Expand Down Expand Up @@ -1408,6 +1421,7 @@ func (cpdb *MySQLCheckpointsDB) GetLocalStoringTables(ctx context.Context) (map[
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer rows.Close()
for rows.Next() {
var (
Expand Down Expand Up @@ -1519,6 +1533,7 @@ func (cpdb *MySQLCheckpointsDB) DestroyErrorCheckpoint(ctx context.Context, tabl
if e != nil {
return errors.Trace(e)
}
//nolint: errcheck
defer rows.Close()
for rows.Next() {
var dtc DestroyedTableCheckpoint
Expand Down Expand Up @@ -1566,6 +1581,7 @@ func (cpdb *MySQLCheckpointsDB) DumpTables(ctx context.Context, writer io.Writer
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer rows.Close()

return errors.Trace(sqltocsv.Write(writer, rows))
Expand All @@ -1585,6 +1601,7 @@ func (cpdb *MySQLCheckpointsDB) DumpEngines(ctx context.Context, writer io.Write
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer rows.Close()

return errors.Trace(sqltocsv.Write(writer, rows))
Expand Down Expand Up @@ -1616,6 +1633,7 @@ func (cpdb *MySQLCheckpointsDB) DumpChunks(ctx context.Context, writer io.Writer
if err != nil {
return errors.Trace(err)
}
//nolint: errcheck
defer rows.Close()

return errors.Trace(sqltocsv.Write(writer, rows))
Expand Down
Loading

0 comments on commit e00ad2b

Please sign in to comment.