Skip to content

Commit a3b9ef6

Browse files
tiancaiamaoSunRunAway
authored andcommitted
distsql: tiny refactor to make the code more robust (pingcap#10557)
1 parent daea7cb commit a3b9ef6

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

distsql/select_result.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -94,21 +94,21 @@ func (r *selectResult) fetch(ctx context.Context) {
9494
metrics.DistSQLQueryHistgram.WithLabelValues(r.label, r.sqlType).Observe(duration.Seconds())
9595
}()
9696
for {
97+
var result resultWithErr
9798
resultSubset, err := r.resp.Next(ctx)
9899
if err != nil {
99-
r.results <- resultWithErr{err: errors.Trace(err)}
100+
result.err = err
101+
} else if resultSubset == nil {
100102
return
101-
}
102-
if resultSubset == nil {
103-
return
104-
}
105-
106-
if r.memTracker != nil {
107-
r.memTracker.Consume(int64(resultSubset.MemSize()))
103+
} else {
104+
result.result = resultSubset
105+
if r.memTracker != nil {
106+
r.memTracker.Consume(int64(resultSubset.MemSize()))
107+
}
108108
}
109109

110110
select {
111-
case r.results <- resultWithErr{result: resultSubset}:
111+
case r.results <- result:
112112
case <-r.closed:
113113
// If selectResult called Close() already, make fetch goroutine exit.
114114
return

0 commit comments

Comments
 (0)