Skip to content

Commit 773d726

Browse files
authored
planner: fix uninit timeout for loading bindings (#61891) (#61928)
close #61889
1 parent e61ae1a commit 773d726

File tree

4 files changed

+6
-2
lines changed

4 files changed

+6
-2
lines changed

pkg/bindinfo/global_handle.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import (
3838
"github.com/pingcap/tidb/pkg/util"
3939
"github.com/pingcap/tidb/pkg/util/chunk"
4040
"github.com/pingcap/tidb/pkg/util/hint"
41+
"github.com/pingcap/tidb/pkg/util/intest"
4142
utilparser "github.com/pingcap/tidb/pkg/util/parser"
4243
"go.uber.org/zap"
4344
"golang.org/x/sync/singleflight"
@@ -728,6 +729,7 @@ func (h *globalBindingHandle) LoadBindingsFromStorage(sctx sessionctx.Context, s
728729
if sqlDigest == "" {
729730
return nil, nil
730731
}
732+
intest.Assert(sctx.GetSessionVars().LoadBindingTimeout != 0)
731733
timeout := time.Duration(sctx.GetSessionVars().LoadBindingTimeout) * time.Millisecond
732734
resultChan := h.syncBindingSingleflight.DoChan(sqlDigest, func() (any, error) {
733735
return h.loadBindingsFromStorageInternal(sqlDigest)

pkg/sessionctx/variable/session.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2276,6 +2276,7 @@ func NewSessionVars(hctx HookContext) *SessionVars {
22762276
vars.MemTracker.IsRootTrackerOfSess = true
22772277
vars.MemTracker.Killer = &vars.SQLKiller
22782278
vars.StatsLoadSyncWait.Store(StatsLoadSyncWait.Load())
2279+
vars.LoadBindingTimeout = DefTiDBLoadBindingTimeout
22792280

22802281
for _, engine := range config.GetGlobalConfig().IsolationRead.Engines {
22812282
switch engine {

pkg/sessionctx/variable/sysvar.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1667,13 +1667,13 @@ var defaultSysVars = []*SysVar{
16671667
{
16681668
Scope: ScopeGlobal,
16691669
Name: TiDBLoadBindingTimeout,
1670-
Value: "200",
1670+
Value: strconv.Itoa(DefTiDBLoadBindingTimeout),
16711671
Type: TypeUnsigned,
16721672
MinValue: 0,
16731673
MaxValue: math.MaxInt32,
16741674
IsHintUpdatableVerified: false,
16751675
SetGlobal: func(ctx context.Context, vars *SessionVars, s string) error {
1676-
timeoutMS := tidbOptPositiveInt32(s, 0)
1676+
timeoutMS := tidbOptPositiveInt32(s, DefTiDBLoadBindingTimeout)
16771677
vars.LoadBindingTimeout = uint64(timeoutMS)
16781678
return nil
16791679
}},

pkg/sessionctx/variable/tidb_vars.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1605,6 +1605,7 @@ const (
16051605
DefOptEnableProjectionPushDown = true
16061606
DefTiDBEnableSharedLockPromotion = false
16071607
DefTiDBTSOClientRPCMode = TSOClientRPCModeDefault
1608+
DefTiDBLoadBindingTimeout = 200
16081609
)
16091610

16101611
// Process global variables.

0 commit comments

Comments
 (0)