From b1a0dce9eca810cbd5d53a87e72c0b96c73504f3 Mon Sep 17 00:00:00 2001 From: fixdb <1225233+fixdb@users.noreply.github.com> Date: Mon, 22 Aug 2022 19:30:35 -0700 Subject: [PATCH] Resolve cherry-pick conflicts --- planner/core/rule_join_reorder_test.go | 28 ---- sessionctx/variable/sysvar_test.go | 62 ------- sessionctx/variable/tidb_vars.go | 214 +------------------------ 3 files changed, 1 insertion(+), 303 deletions(-) diff --git a/planner/core/rule_join_reorder_test.go b/planner/core/rule_join_reorder_test.go index 419eab0129f96..c04be7f00daab 100644 --- a/planner/core/rule_join_reorder_test.go +++ b/planner/core/rule_join_reorder_test.go @@ -291,13 +291,7 @@ func TestJoinOrderHint4TiFlash(t *testing.T) { tk.MustExec("create table t1(a int, b int, key(a));") tk.MustExec("create table t2(a int, b int, key(a));") tk.MustExec("create table t3(a int, b int, key(a));") -<<<<<<< HEAD -======= - tk.MustExec("create table t4(a int, b int, key(a));") - tk.MustExec("create table t5(a int, b int, key(a));") - tk.MustExec("create table t6(a int, b int, key(a));") tk.MustExec("set @@tidb_enable_outer_join_reorder=true") ->>>>>>> 21847fe58... planner: set EnableOuterJoinReorder to false by default (#37264) // Create virtual tiflash replica info. dom := domain.GetDomain(tk.Session()) @@ -340,28 +334,6 @@ func TestJoinOrderHint4Subquery(t *testing.T) { runJoinReorderTestData(t, tk, "TestJoinOrderHint4Subquery") } -<<<<<<< HEAD -======= -func TestLeadingJoinHint4OuterJoin(t *testing.T) { - store := testkit.CreateMockStore(t) - - tk := testkit.NewTestKit(t, store) - tk.MustExec("use test") - tk.MustExec("drop table if exists t, t1, t2, t3, t4, t5, t6, t7, t8;") - tk.MustExec("create table t(a int, b int, key(a));") - tk.MustExec("create table t1(a int, b int, key(a));") - tk.MustExec("create table t2(a int, b int, key(a));") - tk.MustExec("create table t3(a int, b int, key(a));") - tk.MustExec("create table t4(a int, b int, key(a));") - tk.MustExec("create table t5(a int, b int, key(a));") - tk.MustExec("create table t6(a int, b int, key(a));") - tk.MustExec("create table t7(a int, b int, key(a));") - tk.MustExec("create table t8(a int, b int, key(a));") - tk.MustExec("set @@tidb_enable_outer_join_reorder=true") - runJoinReorderTestData(t, tk, "TestLeadingJoinHint4OuterJoin") -} - ->>>>>>> 21847fe58... planner: set EnableOuterJoinReorder to false by default (#37264) func TestOuterJoinWIthEqCondCrossInnerJoin(t *testing.T) { store, clean := testkit.CreateMockStore(t) defer clean() diff --git a/sessionctx/variable/sysvar_test.go b/sessionctx/variable/sysvar_test.go index 61082341d536a..6c62a697e6d5b 100644 --- a/sessionctx/variable/sysvar_test.go +++ b/sessionctx/variable/sysvar_test.go @@ -677,68 +677,6 @@ func TestSettersandGetters(t *testing.T) { } } -<<<<<<< HEAD -======= -// TestSkipInitIsUsed ensures that no new variables are added with skipInit: true. -// This feature is deprecated, and if you need to run code to differentiate between init and "SET" (rare), -// you can instead check if s.StmtCtx.StmtType == "Set". -// The reason it is deprecated is that the behavior is typically wrong: -// it means session settings won't inherit from global and don't apply until you first set -// them in each session. This is a very weird behavior. -// See: https://github.com/pingcap/tidb/issues/35051 -func TestSkipInitIsUsed(t *testing.T) { - for _, sv := range GetSysVars() { - if sv.skipInit { - // skipInit only ever applied to session scope, so if anyone is setting it on - // a variable without session, that doesn't make sense. - require.True(t, sv.HasSessionScope(), fmt.Sprintf("skipInit has no effect on a variable without session scope: %s", sv.Name)) - // Since SetSession is the "init function" there is no init function to skip. - require.NotNil(t, sv.SetSession, fmt.Sprintf("skipInit has no effect on variables without an init (setsession) func: %s", sv.Name)) - // Skipinit has no use on noop funcs, since noop funcs always skipinit. - require.False(t, sv.IsNoop, fmt.Sprintf("skipInit has no effect on noop variables: %s", sv.Name)) - - // Test for variables that have a default of "0" or "OFF" - // If it is session-only scoped there is likely no bug now. - // If it is also global-scoped, then there is a bug as soon as the global changes. - if !(sv.Name == RandSeed1 || sv.Name == RandSeed2) { - // The bug is because the tests might not realize the SetSession func was not called on init, - // because it would initialize some session field to the empty value anyway. - require.NotEqual(t, "0", sv.Value, fmt.Sprintf("default value is zero: %s", sv.Name)) - require.NotEqual(t, "OFF", sv.Value, fmt.Sprintf("default value is OFF: %s", sv.Name)) - } - - // Many of these variables might allow skipInit to be removed, - // they need to be checked first. The purpose of this test is to make - // sure we don't introduce any new variables with skipInit, which seems - // to be a problem. - switch sv.Name { - case TiDBTxnScope, - TiDBSnapshot, - TiDBEnableChunkRPC, - TxnIsolationOneShot, - TiDBDDLReorgPriority, - TiDBSlowQueryFile, - TiDBWaitSplitRegionFinish, - TiDBWaitSplitRegionTimeout, - TiDBMetricSchemaStep, - TiDBMetricSchemaRangeDuration, - RandSeed1, - RandSeed2, - CollationDatabase, - CollationConnection, - CharsetDatabase, - CharacterSetConnection, - CharacterSetServer, - TiDBOptTiFlashConcurrencyFactor, - TiDBOptSeekFactor: - continue - } - require.Equal(t, false, sv.skipInit, fmt.Sprintf("skipInit should not be set on new system variables. variable %s is in violation", sv.Name)) - } - } -} - ->>>>>>> 21847fe58... planner: set EnableOuterJoinReorder to false by default (#37264) func TestSecureAuth(t *testing.T) { sv := GetSysVar(SecureAuth) vars := NewSessionVars() diff --git a/sessionctx/variable/tidb_vars.go b/sessionctx/variable/tidb_vars.go index da22e113d4950..9141431c95b12 100644 --- a/sessionctx/variable/tidb_vars.go +++ b/sessionctx/variable/tidb_vars.go @@ -717,7 +717,6 @@ const ( // Default TiDB system variable values. const ( -<<<<<<< HEAD DefHostname = "localhost" DefIndexLookupConcurrency = ConcurrencyUnset DefIndexLookupJoinConcurrency = ConcurrencyUnset @@ -776,7 +775,7 @@ const ( DefBroadcastJoinThresholdCount = 10 * 1024 DefTiDBOptimizerSelectivityLevel = 0 DefTiDBOptimizerEnableNewOFGB = false - DefTiDBEnableOuterJoinReorder = true + DefTiDBEnableOuterJoinReorder = false DefTiDBAllowBatchCop = 1 DefTiDBAllowMPPExecution = true DefTiDBHashExchangeWithNewCollation = true @@ -893,217 +892,6 @@ const ( DefTiDBEnablePrepPlanCache = true DefTiDBPrepPlanCacheSize = 100 DefTiDBPrepPlanCacheMemoryGuardRatio = 0.1 -======= - DefHostname = "localhost" - DefIndexLookupConcurrency = ConcurrencyUnset - DefIndexLookupJoinConcurrency = ConcurrencyUnset - DefIndexSerialScanConcurrency = 1 - DefIndexJoinBatchSize = 25000 - DefIndexLookupSize = 20000 - DefDistSQLScanConcurrency = 15 - DefBuildStatsConcurrency = 4 - DefAutoAnalyzeRatio = 0.5 - DefAutoAnalyzeStartTime = "00:00 +0000" - DefAutoAnalyzeEndTime = "23:59 +0000" - DefAutoIncrementIncrement = 1 - DefAutoIncrementOffset = 1 - DefChecksumTableConcurrency = 4 - DefSkipUTF8Check = false - DefSkipASCIICheck = false - DefOptAggPushDown = false - DefOptCartesianBCJ = 1 - DefOptMPPOuterJoinFixedBuildSide = false - DefOptWriteRowID = false - DefOptEnableCorrelationAdjustment = true - DefOptLimitPushDownThreshold = 100 - DefOptCorrelationThreshold = 0.9 - DefOptCorrelationExpFactor = 1 - DefOptCPUFactor = 3.0 - DefOptCopCPUFactor = 3.0 - DefOptTiFlashConcurrencyFactor = 24.0 - DefOptNetworkFactor = 1.0 - DefOptScanFactor = 1.5 - DefOptDescScanFactor = 3.0 - DefOptSeekFactor = 20.0 - DefOptMemoryFactor = 0.001 - DefOptDiskFactor = 1.5 - DefOptConcurrencyFactor = 3.0 - DefOptCPUFactorV2 = 30.0 - DefOptCopCPUFactorV2 = 30.0 - DefOptTiFlashCPUFactorV2 = 2.0 - DefOptNetworkFactorV2 = 4.0 - DefOptScanFactorV2 = 100.0 - DefOptDescScanFactorV2 = 150.0 - DefOptTiFlashScanFactorV2 = 15.0 - DefOptSeekFactorV2 = 9500000.0 - DefOptMemoryFactorV2 = 0.001 - DefOptDiskFactorV2 = 1.5 - DefOptConcurrencyFactorV2 = 3.0 - DefOptInSubqToJoinAndAgg = true - DefOptPreferRangeScan = false - DefBatchInsert = false - DefBatchDelete = false - DefBatchCommit = false - DefCurretTS = 0 - DefInitChunkSize = 32 - DefMinPagingSize = int(paging.MinPagingSize) - DefMaxPagingSize = int(paging.MaxPagingSize) - DefMaxChunkSize = 1024 - DefDMLBatchSize = 0 - DefMaxPreparedStmtCount = -1 - DefWaitTimeout = 28800 - DefTiDBMemQuotaApplyCache = 32 << 20 // 32MB. - DefTiDBMemQuotaBindingCache = 64 << 20 // 64MB. - DefTiDBGeneralLog = false - DefTiDBPProfSQLCPU = 0 - DefTiDBRetryLimit = 10 - DefTiDBDisableTxnAutoRetry = true - DefTiDBConstraintCheckInPlace = false - DefTiDBHashJoinConcurrency = ConcurrencyUnset - DefTiDBProjectionConcurrency = ConcurrencyUnset - DefBroadcastJoinThresholdSize = 100 * 1024 * 1024 - DefBroadcastJoinThresholdCount = 10 * 1024 - DefTiDBOptimizerSelectivityLevel = 0 - DefTiDBOptimizerEnableNewOFGB = false - DefTiDBEnableOuterJoinReorder = false - DefTiDBAllowBatchCop = 1 - DefTiDBAllowMPPExecution = true - DefTiDBHashExchangeWithNewCollation = true - DefTiDBEnforceMPPExecution = false - DefTiFlashMaxThreads = -1 - DefTiDBMPPStoreFailTTL = "60s" - DefTiDBTxnMode = "" - DefTiDBRowFormatV1 = 1 - DefTiDBRowFormatV2 = 2 - DefTiDBDDLReorgWorkerCount = 4 - DefTiDBDDLReorgBatchSize = 256 - DefTiDBDDLErrorCountLimit = 512 - DefTiDBMaxDeltaSchemaCount = 1024 - DefTiDBPlacementMode = PlacementModeStrict - DefTiDBEnableAutoIncrementInGenerated = false - DefTiDBHashAggPartialConcurrency = ConcurrencyUnset - DefTiDBHashAggFinalConcurrency = ConcurrencyUnset - DefTiDBWindowConcurrency = ConcurrencyUnset - DefTiDBMergeJoinConcurrency = 1 // disable optimization by default - DefTiDBStreamAggConcurrency = 1 - DefTiDBForcePriority = mysql.NoPriority - DefEnableWindowFunction = true - DefEnablePipelinedWindowFunction = true - DefEnableStrictDoubleTypeCheck = true - DefEnableVectorizedExpression = true - DefTiDBOptJoinReorderThreshold = 0 - DefTiDBDDLSlowOprThreshold = 300 - DefTiDBUseFastAnalyze = false - DefTiDBSkipIsolationLevelCheck = false - DefTiDBExpensiveQueryTimeThreshold = 60 // 60s - DefTiDBScatterRegion = false - DefTiDBWaitSplitRegionFinish = true - DefWaitSplitRegionTimeout = 300 // 300s - DefTiDBEnableNoopFuncs = Off - DefTiDBEnableNoopVariables = true - DefTiDBAllowRemoveAutoInc = false - DefTiDBUsePlanBaselines = true - DefTiDBEvolvePlanBaselines = false - DefTiDBEvolvePlanTaskMaxTime = 600 // 600s - DefTiDBEvolvePlanTaskStartTime = "00:00 +0000" - DefTiDBEvolvePlanTaskEndTime = "23:59 +0000" - DefInnodbLockWaitTimeout = 50 // 50s - DefTiDBStoreLimit = 0 - DefTiDBMetricSchemaStep = 60 // 60s - DefTiDBMetricSchemaRangeDuration = 60 // 60s - DefTiDBFoundInPlanCache = false - DefTiDBFoundInBinding = false - DefTiDBEnableCollectExecutionInfo = true - DefTiDBAllowAutoRandExplicitInsert = false - DefTiDBEnableClusteredIndex = ClusteredIndexDefModeIntOnly - DefTiDBRedactLog = false - DefTiDBRestrictedReadOnly = false - DefTiDBSuperReadOnly = false - DefTiDBShardAllocateStep = math.MaxInt64 - DefTiDBEnableTelemetry = true - DefTiDBEnableParallelApply = false - DefTiDBEnableAmendPessimisticTxn = false - DefTiDBPartitionPruneMode = "static" - DefTiDBEnableRateLimitAction = true - DefTiDBEnableAsyncCommit = false - DefTiDBEnable1PC = false - DefTiDBGuaranteeLinearizability = true - DefTiDBAnalyzeVersion = 2 - DefTiDBEnableIndexMergeJoin = false - DefTiDBTrackAggregateMemoryUsage = true - DefTiDBEnableExchangePartition = false - DefCTEMaxRecursionDepth = 1000 - DefTiDBTmpTableMaxSize = 64 << 20 // 64MB. - DefTiDBEnableLocalTxn = false - DefTiDBTSOClientBatchMaxWaitTime = 0.0 // 0ms - DefTiDBEnableTSOFollowerProxy = false - DefTiDBEnableOrderedResultMode = false - DefTiDBEnablePseudoForOutdatedStats = true - DefTiDBRegardNULLAsPoint = true - DefEnablePlacementCheck = true - DefTimestamp = "0" - DefTiDBEnableStmtSummary = true - DefTiDBStmtSummaryInternalQuery = false - DefTiDBStmtSummaryRefreshInterval = 1800 - DefTiDBStmtSummaryHistorySize = 24 - DefTiDBStmtSummaryMaxStmtCount = 3000 - DefTiDBStmtSummaryMaxSQLLength = 4096 - DefTiDBCapturePlanBaseline = Off - DefTiDBEnableIndexMerge = true - DefEnableLegacyInstanceScope = true - DefTiDBTableCacheLease = 3 // 3s - DefTiDBPersistAnalyzeOptions = true - DefTiDBEnableColumnTracking = false - DefTiDBStatsLoadSyncWait = 0 - DefTiDBStatsLoadPseudoTimeout = true - DefSysdateIsNow = false - DefTiDBEnableMutationChecker = false - DefTiDBTxnAssertionLevel = AssertionOffStr - DefTiDBIgnorePreparedCacheCloseStmt = false - DefTiDBBatchPendingTiFlashCount = 4000 - DefRCReadCheckTS = false - DefTiDBRemoveOrderbyInSubquery = false - DefTiDBSkewDistinctAgg = false - DefTiDBReadStaleness = 0 - DefTiDBGCMaxWaitTime = 24 * 60 * 60 - DefMaxAllowedPacket uint64 = 67108864 - DefTiDBEnableBatchDML = false - DefTiDBMemQuotaQuery = 1073741824 // 1GB - DefTiDBStatsCacheMemQuota = 0 - MaxTiDBStatsCacheMemQuota = 1024 * 1024 * 1024 * 1024 // 1TB - DefTiDBQueryLogMaxLen = 4096 - DefRequireSecureTransport = false - DefTiDBCommitterConcurrency = 128 - DefTiDBBatchDMLIgnoreError = false - DefTiDBMemQuotaAnalyze = -1 - DefTiDBEnableAutoAnalyze = true - DefTiDBMemOOMAction = "CANCEL" - DefTiDBMaxAutoAnalyzeTime = 12 * 60 * 60 - DefTiDBEnablePrepPlanCache = true - DefTiDBPrepPlanCacheSize = 100 - DefTiDBPrepPlanCacheMemoryGuardRatio = 0.1 - DefTiDBEnableConcurrentDDL = concurrencyddl.TiDBEnableConcurrentDDL - DefTiDBSimplifiedMetrics = false - DefTiDBEnablePaging = true - DefTiFlashFineGrainedShuffleStreamCount = 0 - DefStreamCountWhenMaxThreadsNotSet = 8 - DefTiFlashFineGrainedShuffleBatchSize = 8192 - DefAdaptiveClosestReadThreshold = 4096 - DefTiDBEnableAnalyzeSnapshot = false - DefTiDBGenerateBinaryPlan = true - DefEnableTiDBGCAwareMemoryTrack = true - DefTiDBDefaultStrMatchSelectivity = 0.8 - DefTiDBEnableTmpStorageOnOOM = true - DefTiDBEnableFastReorg = false - DefTiDBDDLDiskQuota = 100 * 1024 * 1024 * 1024 // 100GB - DefExecutorConcurrency = 5 - DefTiDBEnableGeneralPlanCache = false - DefTiDBGeneralPlanCacheSize = 100 - // MaxDDLReorgBatchSize is exported for testing. - MaxDDLReorgBatchSize int32 = 10240 - MinDDLReorgBatchSize int32 = 32 - MinExpensiveQueryTimeThreshold uint64 = 10 // 10s ->>>>>>> 21847fe58... planner: set EnableOuterJoinReorder to false by default (#37264) ) // Process global variables.