executor: reset groupCount when Close is called in streamagg executor (#53874)
close pingcap/tidb#53867
This commit is contained in:
@ -22,7 +22,7 @@ go_test(
|
||||
],
|
||||
embed = [":vecgroupchecker"],
|
||||
flaky = True,
|
||||
shard_count = 3,
|
||||
shard_count = 4,
|
||||
deps = [
|
||||
"//pkg/config",
|
||||
"//pkg/expression",
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user