matrixorigin / matrixone

Hyperconverged cloud-edge native database
https://docs.matrixorigin.cn/en
Apache License 2.0
1.76k stars 274 forks source link

[Bug]: data race detected during bvt #6855

Closed sukki37 closed 1 year ago

sukki37 commented 1 year ago

Is there an existing issue for the same bug?

Environment

- Version or commit-id (e.g. v0.1.0 or 8b23a93): b13440ebc66471642119070c503f652960f14610
- Hardware parameters:
- OS type:
- Others:

Actual Behavior

It's too log to paste full log here, you can download by https://github.com/sukki37/matrixone/suites/9443470503/artifacts/446692749

==================
WARNING: DATA RACE
Read at 0x00c0363fe870 by goroutine 573799:
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*table).newMergeReader()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/table.go:399 +0x4bc
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*table).NewReader()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/table.go:318 +0x1aa
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).ParallelRun()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:169 +0x624
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).RemoteRun()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:129 +0x1ae
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).MergeRun.func3()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:90 +0xb7
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).MergeRun.func8()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:91 +0x47

Previous write at 0x00c0363fe870 by goroutine 2948:
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*Transaction).WriteBatch()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/txn.go:243 +0x9ca
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*table).Delete()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/table.go:296 +0x5a4
  github.com/matrixorigin/matrixone/pkg/sql/colexec/deletion.Call()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/deletion/deletion.go:68 +0x6ec
  github.com/matrixorigin/matrixone/pkg/vm.Run()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/vm.go:60 +0x20e
  github.com/matrixorigin/matrixone/pkg/vm/pipeline.(*Pipeline).MergeRun()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/pipeline/pipeline.go:131 +0x238
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).MergeRun()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:111 +0xbf2
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).Delete()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/dml.go:76 +0x552
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Compile).Run()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/compile.go:117 +0x4e4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3476 +0x3504
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*BackgroundHandler).Exec()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/session.go:1930 +0x1ad
  github.com/matrixorigin/matrixone/pkg/frontend.doDropAccount()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/authenticate.go:2019 +0xd0b
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).handleDropAccount()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:1954 +0x52
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3267 +0x2149
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function/builtin/unary.Cot()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/builtin/unary/math.go:79 +0x51
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
==================
WARNING: DATA RACE
Read at 0x00c017753128 by goroutine 573799:
  github.com/matrixorigin/matrixone/pkg/container/batch.(*Batch).GetVector()
      /home/runner/work/matrixone/matrixone/head/pkg/container/batch/batch.go:217 +0x1c26
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*Partition).NewReader()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/partition.go:484 +0x1c09
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*table).newMergeReader()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/table.go:414 +0x986
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*table).NewReader()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/table.go:318 +0x1aa
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).ParallelRun()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:169 +0x624
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).RemoteRun()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:129 +0x1ae
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).MergeRun.func3()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:90 +0xb7
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).MergeRun.func8()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:91 +0x47

Previous write at 0x00c017753128 by goroutine 2948:
  github.com/matrixorigin/matrixone/pkg/container/batch.New()
      /home/runner/work/matrixone/matrixone/head/pkg/container/batch/batch.go:34 +0x18a
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.partitionDeleteBatch()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/tools.go:897 +0xe8
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*table).Delete()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/table.go:288 +0x1e7
  github.com/matrixorigin/matrixone/pkg/sql/colexec/deletion.Call()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/deletion/deletion.go:68 +0x6ec
  github.com/matrixorigin/matrixone/pkg/vm.Run()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/vm.go:60 +0x20e
  github.com/matrixorigin/matrixone/pkg/vm/pipeline.(*Pipeline).MergeRun()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/pipeline/pipeline.go:131 +0x238
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).MergeRun()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:111 +0xbf2
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).Delete()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/dml.go:76 +0x552
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Compile).Run()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/compile.go:117 +0x4e4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3476 +0x3504
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*BackgroundHandler).Exec()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/session.go:1930 +0x1ad
  github.com/matrixorigin/matrixone/pkg/frontend.doDropAccount()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/authenticate.go:2019 +0xd0b
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).handleDropAccount()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:1954 +0x52
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3267 +0x2149
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function/builtin/unary.Cot()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/builtin/unary/math.go:79 +0x51
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2180 +0x1c4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3335 +0x279c
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:76 +0x202
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:62 +0xfc
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).Optimize()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/optimize.go:54 +0xe4
  github.com/matrixorigin/matrixone/pkg/frontend.buildPlan()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:2357 +0x52e
  github.com/matrixorigin/matrixone/pkg/frontend.(*TxnComputationWrapper).Compile()
==================
WARNING: DATA RACE
Read at 0x00c0475193b0 by goroutine 573799:
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*Partition).NewReader()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/partition.go:484 +0x1c69
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*table).newMergeReader()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/table.go:414 +0x986
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*table).NewReader()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/table.go:318 +0x1aa
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).ParallelRun()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:169 +0x624
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).RemoteRun()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:129 +0x1ae
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).MergeRun.func3()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:90 +0xb7
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).MergeRun.func8()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:91 +0x47

Previous write at 0x00c0475193b0 by goroutine 2948:
  github.com/matrixorigin/matrixone/pkg/container/vector.New()
      /home/runner/work/matrixone/matrixone/head/pkg/container/vector/vector.go:510 +0xd4f
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.partitionDeleteBatch()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/tools.go:899 +0xc03
  github.com/matrixorigin/matrixone/pkg/vm/engine/disttae.(*table).Delete()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/engine/disttae/table.go:288 +0x1e7
  github.com/matrixorigin/matrixone/pkg/sql/colexec/deletion.Call()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/deletion/deletion.go:68 +0x6ec
  github.com/matrixorigin/matrixone/pkg/vm.Run()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/vm.go:60 +0x20e
  github.com/matrixorigin/matrixone/pkg/vm/pipeline.(*Pipeline).MergeRun()
      /home/runner/work/matrixone/matrixone/head/pkg/vm/pipeline/pipeline.go:131 +0x238
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).MergeRun()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/scope.go:111 +0xbf2
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Scope).Delete()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/dml.go:76 +0x552
  github.com/matrixorigin/matrixone/pkg/sql/compile.(*Compile).Run()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/compile/compile.go:117 +0x4e4
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3476 +0x3504
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*BackgroundHandler).Exec()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/session.go:1930 +0x1ad
  github.com/matrixorigin/matrixone/pkg/frontend.doDropAccount()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/authenticate.go:2019 +0xd0b
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).handleDropAccount()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:1954 +0x52
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3267 +0x2149
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).doComQuery-fm()
      <autogenerated>:1 +0x6d
  github.com/matrixorigin/matrixone/pkg/frontend.(*MysqlCmdExecutor).ExecRequest()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/mysql_cmd_executor.go:3823 +0x1131
  github.com/matrixorigin/matrixone/pkg/frontend.(*Routine).Loop()
      /home/runner/work/matrixone/matrixone/head/pkg/frontend/routine.go:160 +0x7e4
  github.com/matrixorigin/matrixone/pkg/sql/plan/function/builtin/unary.Cot()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/builtin/unary/math.go:79 +0x51
  github.com/matrixorigin/matrixone/pkg/sql/plan/function.Function.VecFn()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/function/function.go:160 +0x6d
  github.com/matrixorigin/matrixone/pkg/sql/colexec.EvalExpr()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/colexec/expr_eval.go:177 +0xe93
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).constantFold()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:91 +0x3be
  github.com/matrixorigin/matrixone/pkg/sql/plan/rule.(*ConstantFold).Apply()
      /home/runner/work/matrixone/matrixone/head/pkg/sql/plan/rule/constant_fold.go:67 +0x516
  github.com/matrixorigin/matrixone/pkg/sql/plan.(*BaseOptimizer).exploreNode()

Expected Behavior

No response

Steps to Reproduce

No response

Additional information

No response

nnsgmsone commented 1 year ago

I cannot reproduce this data race, which looks like it is caused by different transactions operating concurrently on the same transaction. It is very strange.

m-schen commented 1 year ago

the root cause is : it can not guarantee that all the pipeline could be built ok at a same time. the scan pipeline will read the txn.Write when building, and delete pipeline will update txn.Write when it received batch. e.g: if the pipelines are scanA -> push to Delete scanB -> push to Delete

Delete received the batch from scanB, and scanA is still building. And race occurred.

But this race will not affect the correctness of the pipeline because the delete operator will not modify the content required by pipeline build process.

reusee commented 1 year ago

A possible fix: make the writes field a []atomic.Pointer[[]Entry],then read with writes[i].Load() and write with writes[i].CompareAndSwap(old, new)

nnsgmsone commented 1 year ago

may be fixed by #6931

nnsgmsone commented 1 year ago

Like 6875, it has been fixed.