Skip to content

DATA RACE in the TestAddIndexMergeConflictWithPessimistic #40939

@hawkingrei

Description

@hawkingrei

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

2. What did you expect to see? (Required)

3. What did you see instead (Required)

==================
WARNING: DATA RACE
Read at 0x00c0048daa68 by goroutine 144456:
  github.com/pingcap/tidb/util/chunk.(*allocator).Alloc()
      util/chunk/alloc.go:96 +0x75
  github.com/pingcap/tidb/sessionctx/variable.(*SessionVars).GetNewChunkWithCapacity()
      sessionctx/variable/session.go:1384 +0x1e3
  github.com/pingcap/tidb/executor.tryNewCacheChunk()
      executor/executor.go:238 +0x124
  github.com/pingcap/tidb/executor.(*ExecStmt).handleNoDelayExecutor()
      executor/adapter.go:950 +0x6c4
  github.com/pingcap/tidb/executor.(*ExecStmt).handleNoDelay()
      executor/adapter.go:779 +0x34a
  github.com/pingcap/tidb/executor.(*ExecStmt).Exec()
      executor/adapter.go:574 +0x1299
  github.com/pingcap/tidb/session.runStmt()
      session/session.go:2351 +0x761
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2215 +0xfa5
  github.com/pingcap/tidb/testkit.(*TestKit).ExecWithContext()
      testkit/testkit.go:321 +0x96e
  github.com/pingcap/tidb/testkit.(*TestKit).Exec()
      testkit/testkit.go:294 +0x1d4
  ddl/indexmergetest/indexmergetest_test.TestAddIndexMergeConflictWithPessimistic.func1()
      ddl/indexmergetest/merge_test.go:499 +0x19b
  github.com/pingcap/tidb/ddl/internal/callback.(*TestDDLCallback).OnJobRunBefore()
      ddl/internal/callback/callback.go:95 +0x202
  github.com/pingcap/tidb/ddl.(*worker).HandleDDLJobTable()
      ddl/ddl_worker.go:755 +0x5f4
  github.com/pingcap/tidb/ddl.(*ddl).delivery2worker.func1()
      ddl/job_table.go:271 +0xb45
  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run.func1()
      util/wait_group_wrapper.go:154 +0x73
Previous write at 0x00c0048daa68 by goroutine 130397:
  github.com/pingcap/tidb/util/chunk.(*allocator).Reset()
      util/chunk/alloc.go:125 +0x2f5
  github.com/pingcap/tidb/testkit.(*TestKit).MustExec.func1()
      testkit/testkit.go:122 +0x67
  runtime.deferreturn()
      GOROOT/src/runtime/panic.go:476 +0x32
  ddl/indexmergetest/indexmergetest_test.TestAddIndexMergeConflictWithPessimistic()
      ddl/indexmergetest/merge_test.go:518 +0x629
  github.com/pingcap/tidb/session.runStmt()
      session/session.go:2351 +0x761
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2215 +0xfa5
  github.com/pingcap/tidb/testkit.(*TestKit).ExecWithContext()
      testkit/testkit.go:321 +0x96e
  github.com/pingcap/tidb/testkit.(*TestKit).MustExecWithContext()
      testkit/testkit.go:130 +0xb7
  github.com/pingcap/tidb/testkit.(*TestKit).MustExec()
      testkit/testkit.go:125 +0xf7
  ddl/indexmergetest/indexmergetest_test.TestAddIndexMergeConflictWithPessimistic()
      ddl/indexmergetest/merge_test.go:475 +0x171
  github.com/pingcap/tidb/session.runStmt()
      session/session.go:2351 +0x761
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2215 +0xfa5
  github.com/pingcap/tidb/testkit.(*TestKit).ExecWithContext()
      testkit/testkit.go:321 +0x96e
  github.com/pingcap/tidb/testkit.(*TestKit).MustExecWithContext()
      testkit/testkit.go:130 +0xb7
  github.com/pingcap/tidb/testkit.(*TestKit).MustExec()
      testkit/testkit.go:125 +0xf7
  ddl/indexmergetest/indexmergetest_test.TestAddIndexMergeConflictWithPessimistic()
      ddl/indexmergetest/merge_test.go:474 +0x154
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      domain/sysvar_cache.go:146 +0x844
  github.com/pingcap/tidb/domain.(*Domain).LoadSysVarCacheLoop()
      domain/domain.go:1384 +0xa8
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3337 +0x693
  github.com/pingcap/tidb/domain.(*Domain).GetSessionCache()
      domain/sysvar_cache.go:62 +0x59
  github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
      session/session.go:3656 +0x104
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2134 +0x2a5
  github.com/pingcap/tidb/session.(*session).ExecuteInternal()
      session/session.go:1668 +0x471
  github.com/pingcap/tidb/domain.(*Domain).LoadPrivilegeLoop()
      domain/domain.go:1328 +0x130
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3330 +0x644
  github.com/pingcap/tidb/testkit.bootstrap()
      testkit/mockstore.go:85 +0xac
  github.com/pingcap/tidb/testkit.CreateMockStoreAndDomain()
      testkit/mockstore.go:70 +0xe9
  ddl/indexmergetest/indexmergetest_test.TestAddIndexMergeConflictWithPessimistic()
      ddl/indexmergetest/merge_test.go:464 +0x58
  testing.tRunner()
      GOROOT/src/testing/testing.go:1446 +0x216
  testing.(*T).Run.func1()
      GOROOT/src/testing/testing.go:1493 +0x47
Goroutine 144456 (running) created at:
  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run()
      util/wait_group_wrapper.go:152 +0xe4
  github.com/pingcap/tidb/ddl.(*ddl).delivery2worker()
      ddl/job_table.go:230 +0x1b7
  github.com/pingcap/tidb/ddl.(*ddl).loadDDLJobAndRun()
      ddl/job_table.go:223 +0x57c
  github.com/pingcap/tidb/ddl.(*ddl).startDispatchLoop()
      ddl/job_table.go:196 +0xad1
  github.com/pingcap/tidb/ddl.(*ddl).startDispatchLoop-fm()
      <autogenerated>:1 +0x39
  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run.func1()
      util/wait_group_wrapper.go:154 +0x73
Goroutine 130397 (running) created at:
  testing.(*T).Run()
      GOROOT/src/testing/testing.go:1493 +0x75d
  testing.runTests.func1()
      GOROOT/src/testing/testing.go:1846 +0x99
  testing.tRunner()
      GOROOT/src/testing/testing.go:1446 +0x216
  testing.runTests()
      GOROOT/src/testing/testing.go:1844 +0x7ec
  testing.(*M).Run()
      GOROOT/src/testing/testing.go:1726 +0xa84
  go.uber.org/goleak.VerifyTestMain()
      external/org_uber_go_goleak/testmain.go:53 +0x70
  ddl/indexmergetest/indexmergetest_test.TestMain()
      ddl/indexmergetest/main_test.go:55 +0x5c4
  main.main()
      bazel-out/k8-fastbuild/bin/ddl/indexmergetest/indexmergetest_test_/testmain.go:120 +0x5e8
================== 

4. What is your TiDB version? (Required)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions