@@ -86,7 +86,7 @@ type clusterConfigRetriever struct {
86
86
}
87
87
88
88
// retrieve implements the clusterRetriever interface
89
- func (e * clusterConfigRetriever ) retrieve (_ context.Context , ctx sessionctx.Context ) ([][]types.Datum , error ) {
89
+ func (e * clusterConfigRetriever ) retrieve (_ context.Context , sctx sessionctx.Context ) ([][]types.Datum , error ) {
90
90
if e .extractor .SkipRequest || e .retrieved {
91
91
return nil , nil
92
92
}
@@ -97,8 +97,7 @@ func (e *clusterConfigRetriever) retrieve(_ context.Context, ctx sessionctx.Cont
97
97
rows [][]types.Datum
98
98
err error
99
99
}
100
-
101
- serversInfo , err := infoschema .GetClusterServerInfo (ctx )
100
+ serversInfo , err := infoschema .GetClusterServerInfo (sctx )
102
101
failpoint .Inject ("mockClusterConfigServerInfo" , func (val failpoint.Value ) {
103
102
if s := val .(string ); len (s ) > 0 {
104
103
// erase the error
@@ -118,7 +117,7 @@ func (e *clusterConfigRetriever) retrieve(_ context.Context, ctx sessionctx.Cont
118
117
address := srv .Address
119
118
statusAddr := srv .StatusAddr
120
119
if len (statusAddr ) == 0 {
121
- ctx .GetSessionVars ().StmtCtx .AppendWarning (errors .Errorf ("%s node %s does not contain status address" , typ , address ))
120
+ sctx .GetSessionVars ().StmtCtx .AppendWarning (errors .Errorf ("%s node %s does not contain status address" , typ , address ))
122
121
continue
123
122
}
124
123
wg .Add (1 )
@@ -195,7 +194,7 @@ func (e *clusterConfigRetriever) retrieve(_ context.Context, ctx sessionctx.Cont
195
194
var results []result
196
195
for result := range ch {
197
196
if result .err != nil {
198
- ctx .GetSessionVars ().StmtCtx .AppendWarning (result .err )
197
+ sctx .GetSessionVars ().StmtCtx .AppendWarning (result .err )
199
198
continue
200
199
}
201
200
results = append (results , result )
@@ -214,13 +213,13 @@ type clusterServerInfoRetriever struct {
214
213
}
215
214
216
215
// retrieve implements the clusterRetriever interface
217
- func (e * clusterServerInfoRetriever ) retrieve (_ context.Context , ctx sessionctx.Context ) ([][]types.Datum , error ) {
216
+ func (e * clusterServerInfoRetriever ) retrieve (ctx context.Context , sctx sessionctx.Context ) ([][]types.Datum , error ) {
218
217
if e .extractor .SkipRequest || e .retrieved {
219
218
return nil , nil
220
219
}
221
220
e .retrieved = true
222
221
223
- serversInfo , err := infoschema .GetClusterServerInfo (ctx )
222
+ serversInfo , err := infoschema .GetClusterServerInfo (sctx )
224
223
if err != nil {
225
224
return nil , err
226
225
}
@@ -253,7 +252,7 @@ func (e *clusterServerInfoRetriever) retrieve(_ context.Context, ctx sessionctx.
253
252
go func (index int , address , serverTP string ) {
254
253
util .WithRecovery (func () {
255
254
defer wg .Done ()
256
- items , err := getServerInfoByGRPC (address , infoTp )
255
+ items , err := getServerInfoByGRPC (ctx , address , infoTp )
257
256
if err != nil {
258
257
ch <- result {idx : index , err : err }
259
258
return
@@ -269,7 +268,7 @@ func (e *clusterServerInfoRetriever) retrieve(_ context.Context, ctx sessionctx.
269
268
var results []result
270
269
for result := range ch {
271
270
if result .err != nil {
272
- ctx .GetSessionVars ().StmtCtx .AppendWarning (result .err )
271
+ sctx .GetSessionVars ().StmtCtx .AppendWarning (result .err )
273
272
continue
274
273
}
275
274
results = append (results , result )
@@ -299,7 +298,7 @@ func serverInfoItemToRows(items []*diagnosticspb.ServerInfoItem, tp, addr string
299
298
return rows
300
299
}
301
300
302
- func getServerInfoByGRPC (address string , tp diagnosticspb.ServerInfoType ) ([]* diagnosticspb.ServerInfoItem , error ) {
301
+ func getServerInfoByGRPC (ctx context. Context , address string , tp diagnosticspb.ServerInfoType ) ([]* diagnosticspb.ServerInfoItem , error ) {
303
302
opt := grpc .WithInsecure ()
304
303
security := config .GetGlobalConfig ().Security
305
304
if len (security .ClusterSSLCA ) != 0 {
@@ -321,8 +320,7 @@ func getServerInfoByGRPC(address string, tp diagnosticspb.ServerInfoType) ([]*di
321
320
}()
322
321
323
322
cli := diagnosticspb .NewDiagnosticsClient (conn )
324
- // FIXME: use session context instead of context.Background().
325
- ctx , cancel := context .WithTimeout (context .Background (), time .Second * 10 )
323
+ ctx , cancel := context .WithTimeout (ctx , time .Second * 10 )
326
324
defer cancel ()
327
325
r , err := cli .ServerInfo (ctx , & diagnosticspb.ServerInfoRequest {Tp : tp })
328
326
if err != nil {
@@ -413,9 +411,9 @@ func (h *logResponseHeap) Pop() interface{} {
413
411
return x
414
412
}
415
413
416
- func (e * clusterLogRetriever ) startRetrieving (ctx sessionctx.Context ) ([]chan logStreamResult , error ) {
414
+ func (e * clusterLogRetriever ) startRetrieving (ctx context. Context , sctx sessionctx.Context ) ([]chan logStreamResult , error ) {
417
415
isFailpointTestMode := false
418
- serversInfo , err := infoschema .GetClusterServerInfo (ctx )
416
+ serversInfo , err := infoschema .GetClusterServerInfo (sctx )
419
417
failpoint .Inject ("mockClusterLogServerInfo" , func (val failpoint.Value ) {
420
418
if s := val .(string ); len (s ) > 0 {
421
419
// erase the error
@@ -488,7 +486,7 @@ func (e *clusterLogRetriever) startRetrieving(ctx sessionctx.Context) ([]chan lo
488
486
address := srv .Address
489
487
statusAddr := srv .StatusAddr
490
488
if len (statusAddr ) == 0 {
491
- ctx .GetSessionVars ().StmtCtx .AppendWarning (errors .Errorf ("%s node %s does not contain status address" , typ , address ))
489
+ sctx .GetSessionVars ().StmtCtx .AppendWarning (errors .Errorf ("%s node %s does not contain status address" , typ , address ))
492
490
continue
493
491
}
494
492
ch := make (chan logStreamResult )
@@ -511,7 +509,7 @@ func (e *clusterLogRetriever) startRetrieving(ctx sessionctx.Context) ([]chan lo
511
509
defer terror .Call (conn .Close )
512
510
513
511
cli := diagnosticspb .NewDiagnosticsClient (conn )
514
- stream , err := cli .SearchLog (context . Background () , req )
512
+ stream , err := cli .SearchLog (ctx , req )
515
513
if err != nil {
516
514
ch <- logStreamResult {addr : address , typ : serverType , err : err }
517
515
return
@@ -535,14 +533,14 @@ func (e *clusterLogRetriever) startRetrieving(ctx sessionctx.Context) ([]chan lo
535
533
return results , nil
536
534
}
537
535
538
- func (e * clusterLogRetriever ) retrieve (_ context.Context , ctx sessionctx.Context ) ([][]types.Datum , error ) {
536
+ func (e * clusterLogRetriever ) retrieve (ctx context.Context , sctx sessionctx.Context ) ([][]types.Datum , error ) {
539
537
if e .extractor .SkipRequest || e .isDrained {
540
538
return nil , nil
541
539
}
542
540
543
541
if ! e .retrieving {
544
542
e .retrieving = true
545
- results , err := e .startRetrieving (ctx )
543
+ results , err := e .startRetrieving (ctx , sctx )
546
544
if err != nil {
547
545
e .isDrained = true
548
546
return nil , err
@@ -554,7 +552,7 @@ func (e *clusterLogRetriever) retrieve(_ context.Context, ctx sessionctx.Context
554
552
result := <- ch
555
553
if result .err != nil || len (result .messages ) == 0 {
556
554
if result .err != nil {
557
- ctx .GetSessionVars ().StmtCtx .AppendWarning (result .err )
555
+ sctx .GetSessionVars ().StmtCtx .AppendWarning (result .err )
558
556
}
559
557
continue
560
558
}
@@ -581,7 +579,7 @@ func (e *clusterLogRetriever) retrieve(_ context.Context, ctx sessionctx.Context
581
579
if len (minTimeItem .messages ) == 0 {
582
580
result := <- minTimeItem .next
583
581
if result .err != nil {
584
- ctx .GetSessionVars ().StmtCtx .AppendWarning (result .err )
582
+ sctx .GetSessionVars ().StmtCtx .AppendWarning (result .err )
585
583
continue
586
584
}
587
585
if len (result .messages ) > 0 {
0 commit comments