Skip to content

Commit e965367

Browse files
lysujackysp
authored andcommitted
*: remove errors.Trace in main handle path (#10033)
1 parent 2e5f7a4 commit e965367

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+1224
-1307
lines changed

distsql/distsql.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ func Select(ctx context.Context, sctx sessionctx.Context, kvReq *kv.Request, fie
4343
resp := sctx.GetClient().Send(ctx, kvReq, sctx.GetSessionVars().KVVars)
4444
if resp == nil {
4545
err := errors.New("client returns nil response")
46-
return nil, errors.Trace(err)
46+
return nil, err
4747
}
4848

4949
if kvReq.Streaming {

distsql/distsql_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121

2222
"github.com/cznic/mathutil"
2323
. "github.com/pingcap/check"
24-
"github.com/pingcap/errors"
2524
"github.com/pingcap/parser/charset"
2625
"github.com/pingcap/parser/mysql"
2726
"github.com/pingcap/tidb/kv"
@@ -369,7 +368,7 @@ func mockReadRowsData(buffer []byte, colTypes []*types.FieldType, chk *chunk.Chu
369368
for colOrdinal := 0; colOrdinal < numCols; colOrdinal++ {
370369
buffer, err = decoder.DecodeOne(buffer, colOrdinal, colTypes[colOrdinal])
371370
if err != nil {
372-
return errors.Trace(err)
371+
return err
373372
}
374373
}
375374
}

distsql/request_builder.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ package distsql
1616
import (
1717
"math"
1818

19-
"github.com/pingcap/errors"
2019
"github.com/pingcap/parser/mysql"
2120
"github.com/pingcap/tidb/kv"
2221
"github.com/pingcap/tidb/sessionctx/stmtctx"
@@ -38,7 +37,7 @@ type RequestBuilder struct {
3837

3938
// Build builds a "kv.Request".
4039
func (builder *RequestBuilder) Build() (*kv.Request, error) {
41-
return &builder.Request, errors.Trace(builder.err)
40+
return &builder.Request, builder.err
4241
}
4342

4443
// SetTableRanges sets "KeyRanges" for "kv.Request" by converting "tableRanges"
@@ -254,7 +253,7 @@ func IndexRangesToKVRanges(sc *stmtctx.StatementContext, tid, idxID int64, range
254253
for _, ran := range ranges {
255254
low, high, err := encodeIndexKey(sc, ran)
256255
if err != nil {
257-
return nil, errors.Trace(err)
256+
return nil, err
258257
}
259258
feedbackRanges = append(feedbackRanges, &ranger.Range{LowVal: []types.Datum{types.NewBytesDatum(low)},
260259
HighVal: []types.Datum{types.NewBytesDatum(high)}, LowExclude: false, HighExclude: true})
@@ -287,7 +286,7 @@ func indexRangesToKVWithoutSplit(sc *stmtctx.StatementContext, tid, idxID int64,
287286
for _, ran := range ranges {
288287
low, high, err := encodeIndexKey(sc, ran)
289288
if err != nil {
290-
return nil, errors.Trace(err)
289+
return nil, err
291290
}
292291
startKey := tablecodec.EncodeIndexSeekKey(tid, idxID, low)
293292
endKey := tablecodec.EncodeIndexSeekKey(tid, idxID, high)
@@ -299,14 +298,14 @@ func indexRangesToKVWithoutSplit(sc *stmtctx.StatementContext, tid, idxID int64,
299298
func encodeIndexKey(sc *stmtctx.StatementContext, ran *ranger.Range) ([]byte, []byte, error) {
300299
low, err := codec.EncodeKey(sc, nil, ran.LowVal...)
301300
if err != nil {
302-
return nil, nil, errors.Trace(err)
301+
return nil, nil, err
303302
}
304303
if ran.LowExclude {
305304
low = []byte(kv.Key(low).PrefixNext())
306305
}
307306
high, err := codec.EncodeKey(sc, nil, ran.HighVal...)
308307
if err != nil {
309-
return nil, nil, errors.Trace(err)
308+
return nil, nil, err
310309
}
311310

312311
if !ran.HighExclude {

distsql/select_result.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func (r *selectResult) fetch(ctx context.Context) {
9090
for {
9191
resultSubset, err := r.resp.Next(ctx)
9292
if err != nil {
93-
r.results <- resultWithErr{err: errors.Trace(err)}
93+
r.results <- resultWithErr{err: err}
9494
return
9595
}
9696
if resultSubset == nil {
@@ -126,12 +126,12 @@ func (r *selectResult) Next(ctx context.Context, chk *chunk.Chunk) error {
126126
if r.selectResp == nil || r.respChkIdx == len(r.selectResp.Chunks) {
127127
err := r.getSelectResp()
128128
if err != nil || r.selectResp == nil {
129-
return errors.Trace(err)
129+
return err
130130
}
131131
}
132132
err := r.readRowsData(chk)
133133
if err != nil {
134-
return errors.Trace(err)
134+
return err
135135
}
136136
if len(r.selectResp.Chunks[r.respChkIdx].RowsData) == 0 {
137137
r.respChkIdx++
@@ -203,7 +203,7 @@ func (r *selectResult) readRowsData(chk *chunk.Chunk) (err error) {
203203
for i := 0; i < r.rowLen; i++ {
204204
rowsData, err = decoder.DecodeOne(rowsData, i, r.fieldTypes[i])
205205
if err != nil {
206-
return errors.Trace(err)
206+
return err
207207
}
208208
}
209209
}

distsql/stream.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ func (r *streamResult) Next(ctx context.Context, chk *chunk.Chunk) error {
4848
for !chk.IsFull() {
4949
err := r.readDataIfNecessary(ctx)
5050
if err != nil {
51-
return errors.Trace(err)
51+
return err
5252
}
5353
if r.curr == nil {
5454
return nil
5555
}
5656

5757
err = r.flushToChunk(chk)
5858
if err != nil {
59-
return errors.Trace(err)
59+
return err
6060
}
6161
}
6262
return nil
@@ -66,7 +66,7 @@ func (r *streamResult) Next(ctx context.Context, chk *chunk.Chunk) error {
6666
func (r *streamResult) readDataFromResponse(ctx context.Context, resp kv.Response, result *tipb.Chunk) (bool, error) {
6767
resultSubset, err := resp.Next(ctx)
6868
if err != nil {
69-
return false, errors.Trace(err)
69+
return false, err
7070
}
7171
if resultSubset == nil {
7272
return true, nil
@@ -102,7 +102,7 @@ func (r *streamResult) readDataIfNecessary(ctx context.Context) error {
102102
tmp := new(tipb.Chunk)
103103
finish, err := r.readDataFromResponse(ctx, r.resp, tmp)
104104
if err != nil {
105-
return errors.Trace(err)
105+
return err
106106
}
107107
if finish {
108108
r.curr = nil
@@ -119,7 +119,7 @@ func (r *streamResult) flushToChunk(chk *chunk.Chunk) (err error) {
119119
for i := 0; i < r.rowLen; i++ {
120120
remainRowsData, err = decoder.DecodeOne(remainRowsData, i, r.fieldTypes[i])
121121
if err != nil {
122-
return errors.Trace(err)
122+
return err
123123
}
124124
}
125125
}
@@ -136,9 +136,9 @@ func (r *streamResult) NextRaw(ctx context.Context) ([]byte, error) {
136136
r.feedback.Invalidate()
137137
resultSubset, err := r.resp.Next(ctx)
138138
if resultSubset == nil || err != nil {
139-
return nil, errors.Trace(err)
139+
return nil, err
140140
}
141-
return resultSubset.GetData(), errors.Trace(err)
141+
return resultSubset.GetData(), err
142142
}
143143

144144
func (r *streamResult) Close() error {

domain/domain.go

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,12 @@ func (do *Domain) loadInfoSchema(handle *infoschema.Handle, usedSchemaVersion in
8181
var fullLoad bool
8282
snapshot, err := do.store.GetSnapshot(kv.NewVersion(startTS))
8383
if err != nil {
84-
return 0, nil, fullLoad, errors.Trace(err)
84+
return 0, nil, fullLoad, err
8585
}
8686
m := meta.NewSnapshotMeta(snapshot)
8787
latestSchemaVersion, err := m.GetSchemaVersion()
8888
if err != nil {
89-
return 0, nil, fullLoad, errors.Trace(err)
89+
return 0, nil, fullLoad, err
9090
}
9191
if usedSchemaVersion != 0 && usedSchemaVersion == latestSchemaVersion {
9292
return latestSchemaVersion, nil, fullLoad, nil
@@ -123,12 +123,12 @@ func (do *Domain) loadInfoSchema(handle *infoschema.Handle, usedSchemaVersion in
123123
fullLoad = true
124124
schemas, err := do.fetchAllSchemasWithTables(m)
125125
if err != nil {
126-
return 0, nil, fullLoad, errors.Trace(err)
126+
return 0, nil, fullLoad, err
127127
}
128128

129129
newISBuilder, err := infoschema.NewBuilder(handle).InitWithDBInfos(schemas, latestSchemaVersion)
130130
if err != nil {
131-
return 0, nil, fullLoad, errors.Trace(err)
131+
return 0, nil, fullLoad, err
132132
}
133133
logutil.Logger(context.Background()).Info("full load InfoSchema success", zap.Int64("usedSchemaVersion", usedSchemaVersion),
134134
zap.Int64("latestSchemaVersion", latestSchemaVersion), zap.Duration("start time", time.Since(startTime)))
@@ -139,7 +139,7 @@ func (do *Domain) loadInfoSchema(handle *infoschema.Handle, usedSchemaVersion in
139139
func (do *Domain) fetchAllSchemasWithTables(m *meta.Meta) ([]*model.DBInfo, error) {
140140
allSchemas, err := m.ListDatabases()
141141
if err != nil {
142-
return nil, errors.Trace(err)
142+
return nil, err
143143
}
144144
splittedSchemas := do.splitForConcurrentFetch(allSchemas)
145145
doneCh := make(chan error, len(splittedSchemas))
@@ -149,7 +149,7 @@ func (do *Domain) fetchAllSchemasWithTables(m *meta.Meta) ([]*model.DBInfo, erro
149149
for range splittedSchemas {
150150
err = <-doneCh
151151
if err != nil {
152-
return nil, errors.Trace(err)
152+
return nil, err
153153
}
154154
}
155155
return allSchemas, nil
@@ -231,7 +231,7 @@ func (do *Domain) tryLoadSchemaDiffs(m *meta.Meta, usedVersion, newVersion int64
231231
usedVersion++
232232
diff, err := m.GetSchemaDiff(usedVersion)
233233
if err != nil {
234-
return false, nil, errors.Trace(err)
234+
return false, nil, err
235235
}
236236
if diff == nil {
237237
// If diff is missing for any version between used and new version, we fall back to full reload.
@@ -244,7 +244,7 @@ func (do *Domain) tryLoadSchemaDiffs(m *meta.Meta, usedVersion, newVersion int64
244244
for _, diff := range diffs {
245245
ids, err := builder.ApplyDiff(m, diff)
246246
if err != nil {
247-
return false, nil, errors.Trace(err)
247+
return false, nil, err
248248
}
249249
tblIDs = append(tblIDs, ids...)
250250
}
@@ -262,7 +262,7 @@ func (do *Domain) GetSnapshotInfoSchema(snapshotTS uint64) (infoschema.InfoSchem
262262
snapHandle := do.infoHandle.EmptyClone()
263263
_, _, _, err := do.loadInfoSchema(snapHandle, do.infoHandle.Get().SchemaMetaVersion(), snapshotTS)
264264
if err != nil {
265-
return nil, errors.Trace(err)
265+
return nil, err
266266
}
267267
return snapHandle.Get(), nil
268268
}
@@ -271,7 +271,7 @@ func (do *Domain) GetSnapshotInfoSchema(snapshotTS uint64) (infoschema.InfoSchem
271271
func (do *Domain) GetSnapshotMeta(startTS uint64) (*meta.Meta, error) {
272272
snapshot, err := do.store.GetSnapshot(kv.NewVersion(startTS))
273273
if err != nil {
274-
return nil, errors.Trace(err)
274+
return nil, err
275275
}
276276
return meta.NewSnapshotMeta(snapshot), nil
277277
}
@@ -316,7 +316,7 @@ func (do *Domain) Reload() error {
316316

317317
ver, err := do.store.CurrentVersion()
318318
if err != nil {
319-
return errors.Trace(err)
319+
return err
320320
}
321321

322322
schemaVersion := int64(0)
@@ -333,7 +333,7 @@ func (do *Domain) Reload() error {
333333
metrics.LoadSchemaDuration.Observe(time.Since(startTime).Seconds())
334334
if err != nil {
335335
metrics.LoadSchemaCounter.WithLabelValues("failed").Inc()
336-
return errors.Trace(err)
336+
return err
337337
}
338338
metrics.LoadSchemaCounter.WithLabelValues("succ").Inc()
339339

@@ -495,7 +495,7 @@ func (do *Domain) mustRestartSyncer() error {
495495
// If the domain has stopped, we return an error immediately.
496496
select {
497497
case <-do.exit:
498-
return errors.Trace(err)
498+
return err
499499
default:
500500
}
501501
time.Sleep(time.Second)
@@ -529,7 +529,7 @@ func (do *Domain) mustReload() (exitLoop bool) {
529529
// Close closes the Domain and release its resource.
530530
func (do *Domain) Close() {
531531
if do.ddl != nil {
532-
terror.Log(errors.Trace(do.ddl.Stop()))
532+
terror.Log(do.ddl.Stop())
533533
}
534534
if do.info != nil {
535535
do.info.RemoveServerInfo()
@@ -631,16 +631,16 @@ func (do *Domain) Init(ddlLease time.Duration, sysFactory func(*Domain) (pools.R
631631

632632
err := do.ddl.SchemaSyncer().Init(ctx)
633633
if err != nil {
634-
return errors.Trace(err)
634+
return err
635635
}
636636
do.info = NewInfoSyncer(do.ddl.GetID(), do.etcdClient)
637637
err = do.info.Init(ctx)
638638
if err != nil {
639-
return errors.Trace(err)
639+
return err
640640
}
641641
err = do.Reload()
642642
if err != nil {
643-
return errors.Trace(err)
643+
return err
644644
}
645645

646646
// Only when the store is local that the lease value is 0.
@@ -733,7 +733,7 @@ func (do *Domain) LoadPrivilegeLoop(ctx sessionctx.Context) error {
733733
do.privHandle = privileges.NewHandle()
734734
err := do.privHandle.Update(ctx)
735735
if err != nil {
736-
return errors.Trace(err)
736+
return err
737737
}
738738

739739
var watchCh clientv3.WatchChan
@@ -798,7 +798,7 @@ func (do *Domain) LoadBindInfoLoop(ctx sessionctx.Context, parser *parser.Parser
798798
bindCacheUpdater := bindinfo.NewBindCacheUpdater(ctx, do.BindHandle(), parser)
799799
err := bindCacheUpdater.Update(true)
800800
if err != nil {
801-
return errors.Trace(err)
801+
return err
802802
}
803803

804804
duration := 3 * time.Second

domain/info.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ func NewInfoSyncer(id string, etcdCli *clientv3.Client) *InfoSyncer {
8080

8181
// Init creates a new etcd session and stores server info to etcd.
8282
func (is *InfoSyncer) Init(ctx context.Context) error {
83-
return errors.Trace(is.newSessionAndStoreServerInfo(ctx, owner.NewSessionDefaultRetryCnt))
83+
return is.newSessionAndStoreServerInfo(ctx, owner.NewSessionDefaultRetryCnt)
8484
}
8585

8686
// GetServerInfo gets self server static information.
@@ -96,7 +96,7 @@ func (is *InfoSyncer) GetServerInfoByID(ctx context.Context, id string) (*Server
9696
key := fmt.Sprintf("%s/%s", ServerInformationPath, id)
9797
infoMap, err := getInfo(ctx, is.etcdCli, key, keyOpDefaultRetryCnt, keyOpDefaultTimeout)
9898
if err != nil {
99-
return nil, errors.Trace(err)
99+
return nil, err
100100
}
101101
info, ok := infoMap[id]
102102
if !ok {
@@ -114,7 +114,7 @@ func (is *InfoSyncer) GetAllServerInfo(ctx context.Context) (map[string]*ServerI
114114
}
115115
allInfo, err := getInfo(ctx, is.etcdCli, ServerInformationPath, keyOpDefaultRetryCnt, keyOpDefaultTimeout, clientv3.WithPrefix())
116116
if err != nil {
117-
return nil, errors.Trace(err)
117+
return nil, err
118118
}
119119
return allInfo, nil
120120
}
@@ -130,7 +130,7 @@ func (is *InfoSyncer) storeServerInfo(ctx context.Context) error {
130130
}
131131
str := string(hack.String(infoBuf))
132132
err = ddl.PutKVToEtcd(ctx, is.etcdCli, keyOpDefaultRetryCnt, is.serverInfoPath, str, clientv3.WithLease(is.session.Lease()))
133-
return errors.Trace(err)
133+
return err
134134
}
135135

136136
// RemoveServerInfo remove self server static information from etcd.
@@ -154,7 +154,7 @@ func (is InfoSyncer) Done() <-chan struct{} {
154154

155155
// Restart restart the info syncer with new session leaseID and store server info to etcd again.
156156
func (is *InfoSyncer) Restart(ctx context.Context) error {
157-
return errors.Trace(is.newSessionAndStoreServerInfo(ctx, owner.NewSessionDefaultRetryCnt))
157+
return is.newSessionAndStoreServerInfo(ctx, owner.NewSessionDefaultRetryCnt)
158158
}
159159

160160
// newSessionAndStoreServerInfo creates a new etcd session and stores server info to etcd.
@@ -165,12 +165,12 @@ func (is *InfoSyncer) newSessionAndStoreServerInfo(ctx context.Context, retryCnt
165165
logPrefix := fmt.Sprintf("[Info-syncer] %s", is.serverInfoPath)
166166
session, err := owner.NewSession(ctx, logPrefix, is.etcdCli, retryCnt, InfoSessionTTL)
167167
if err != nil {
168-
return errors.Trace(err)
168+
return err
169169
}
170170
is.session = session
171171

172172
err = is.storeServerInfo(ctx)
173-
return errors.Trace(err)
173+
return err
174174
}
175175

176176
// getInfo gets server information from etcd according to the key and opts.

0 commit comments

Comments
 (0)