executor: reset groupCount when Close is called in streamagg executor (#53874)

close pingcap/tidb#53867
This commit is contained in:
xzhangxian1008
2024-06-18 17:58:17 +08:00
committed by GitHub
parent e47330c7d0
commit a5a1b674bd
3 changed files with 12 additions and 1 deletions

View File

@ -22,7 +22,7 @@ go_test(
],
embed = [":vecgroupchecker"],
flaky = True,
shard_count = 3,
shard_count = 4,
deps = [
"//pkg/config",
"//pkg/expression",

View File

@ -496,6 +496,7 @@ func (e *VecGroupChecker) IsExhausted() bool {
func (e *VecGroupChecker) Reset() {
if e.groupOffset != nil {
e.groupOffset = e.groupOffset[:0]
e.groupCount = 0
}
if e.sameGroup != nil {
e.sameGroup = e.sameGroup[:0]

View File

@ -268,3 +268,13 @@ func TestVecGroupChecker(t *testing.T) {
require.Equal(t, e, 3)
require.True(t, groupChecker.IsExhausted())
}
func TestIssue53867(t *testing.T) {
checker := NewVecGroupChecker(nil, true, nil)
checker.groupOffset = make([]int, 20)
checker.nextGroupID = 10
checker.groupCount = 15
require.False(t, checker.IsExhausted())
checker.Reset()
require.True(t, checker.IsExhausted())
}