bug: Query service fails with error "result closed early at `github.com/ydb-platform/ydb-go-sdk/v3/internal/query.(*result).nextResultSet(result.go:129)`" #1245
non-retryable error occurred on attempt No.1 (idempotent=false): result closed early at `github.com/ydb-platform/ydb-go-sdk/v3/internal/query.(*result).nextResultSet(result.go:129)` at `github.com/ydb-platform/ydb-go-sdk/v3/internal/query.do.func1(client.go:77)` at `github.com/ydb-platform/ydb-go-sdk/v3/internal/pool.(*Pool).try(pool.go:408)` at `github.com/ydb-platform/ydb-go-sdk/v3/internal/pool.(*Pool).With.func2(pool.go:436)` at `github.com/ydb-platform/ydb-go-sdk/v3/retry.Retry(retry.go:324)` at `github.com/ydb-platform/ydb-go-sdk/v3/internal/pool.(*Pool).With(pool.go:448)` at `github.com/ydb-platform/ydb-go-sdk/v3/internal/query.do(client.go:91)`
Expectedt behavior:
Query executes correctly.
Ecample:
func (s *ydbTestSuite) TestQuerySelect() {
ctx, cancel := s.context()
defer cancel()
expectedValue := 1
var actualValue int
err := s.Query().Do(ctx, func(ctx context.Context, session query.Session) error {
_, result, err := session.Execute(ctx, "SELECT 1 AS value")
if err != nil {
return err
}
defer func() { _ = result.Close(ctx) }()
for {
rs, err := result.NextResultSet(ctx)
if err != nil {
if errors.Is(err, io.EOF) {
break
}
return err
}
for {
row, err := rs.NextRow(ctx)
if err != nil {
if errors.Is(err, io.EOF) {
break
}
return err
}
if err = row.Scan(&actualValue); err != nil {
return err
}
}
}
return nil
})
s.Require().NoError(err)
s.Require().Equal(expectedValue, actualValue)
}
Bug Report
YDB GO SDK version: 3.67.2
Environment Linux amd64
Current behavior:
Expectedt behavior: Query executes correctly.
Ecample: