-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sql: fix recently introduced bug around the internal rowsIterator #103514
Conversation
This commit fixes a typo as well as removes the now-stale TODO (I believe it was fixed in 0316935, but we forgot to remove the TODO in that commit). Release note: None
This commit fixes a minor bug introduced in c7eb1bf that could lead to a nil pointer panic. In particular, that commit introduced `HasResults` method to the `rowsIterator`, and it assumed that `first` field is always non-nil when the iterator was returned on `QueryIteratorEx` call. However, that is not true - in case an error was returned from the connExecutor goroutine, then `rowsIterator.lastErr` is set while `first` is left nil. The expectation is that in such a case the user of the iterator will receive that error either on `Next` or `Close` call, properly cleaning up the iterator. We might want to rethink this and return the error explicitly, but in the spirit of making the least amount of changes, this commit simply added the non-nil check for the `first` field. Release note (bug fix): CockroachDB could previously encounter a nil pointer crash when populating data for SQL Activity page in some rare cases, and this is now fixed. The bug is present in 22.2.9 and 23.1.1 releases.
It looks like your PR touches production code but doesn't add or edit any test code. Did you consider adding tests to your PR? 🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 1 files at r1, 1 of 1 files at r2, all commit messages.
Reviewable status: complete! 1 of 0 LGTMs obtained (waiting on @mgartner)
TFTR! bors r+ |
Build succeeded: |
Encountered an error creating backports. Some common things that can go wrong:
You might need to create your backport manually using the backport tool. error creating merge commit from c0a20cd to blathers/backport-release-22.2-103514: POST https://api.github.com/repos/cockroachdb/cockroach/merges: 409 Merge conflict [] you may need to manually resolve merge conflicts with the backport tool. Backport to branch 22.2.x failed. See errors above. 🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf. |
This commit fixes a minor bug introduced in c7eb1bf
that could lead to a nil pointer panic. In particular, that commit
introduced
HasResults
method to therowsIterator
, and it assumedthat
first
field is always non-nil when the iterator was returned onQueryIteratorEx
call. However, that is not true - in case an error wasreturned from the connExecutor goroutine, then
rowsIterator.lastErr
isset while
first
is left nil. The expectation is that in such a casethe user of the iterator will receive that error either on
Next
orClose
call, properly cleaning up the iterator. We might want torethink this and return the error explicitly, but in the spirit of
making the least amount of changes, this commit simply added the non-nil
check for the
first
field.Fixes: #103508.
Release note (bug fix): CockroachDB could previously encounter a nil
pointer crash when populating data for SQL Activity page in some rare
cases, and this is now fixed. The bug is present in 22.2.9 and 23.1.1
releases.