Closed williamhbaker closed 4 weeks ago
As a follow-up: For a potential workaround, is there a benefit to using the WithAsyncMode
to run queries concurrently vs. running regular synchronous queries in separate goroutines concurrently and then collecting the results?
hi and thanks for submitting this issue - apologies for the delay; was on leave.
first to try to answer the question about WithAsyncMode
. this mode is there to be able to run queries in an async mode without blocking each other (documentation), so if you have queries which are not depending on each other or a result of a previous query, then you might indeed consider sending them WithAsyncMode
instead.
about the issue - thanks for pointing to the specific part of connection.go
! trying to get some more details to troubleshoot further.
PUT
/ GET
, etc)data
looks like when data.Data.AsyncResult
is nil
; are other fields populated or is the whole object nil
for some reason? Do you think it would be possible to add some additional logging in connection.go
your environment when data.Data.AsyncResult
is nil
, to dump the whole data
. Maybe some execution error is not handled correctly.just checking in to ask if you perhaps had any chance to add extra debug logging to gain more information about the issue happening in your environment? or perhaps can share the querid so we could look into the characteristics of the query (if it makes sense, if it's related to any specific query pattern/type)
a month has passed now and since the issue is not reproducible and did not receive any other complaints, nor the means to reproduce the issue in-house, i'm now marking this as closed for now.
if there's further details available, please do share them and we can keep looking
Please answer these questions before submitting your issue. In order to accurately debug the issue this information is required. Thanks!
What version of GO driver are you using?
1.10.0
What operating system and processor architecture are you using?
darwin/arm64
What version of GO are you using?
go version go1.22.0 darwin/arm64
Server version:* E.g. 1.90.1
8.16.0
What did you do?
We are using async queries to initiate many concurrent queries with
ExecContext
, and occasionally get panics from the driver when waiting for them to complete viaRowsAffected
. This happens intermittently so I don't have a reliable reproduction. An example of a stack trace that occurs with one of these panics is below:As best as I can tell, the
data.Data.AsyncResult
returned here isnil
somehow, but only occasionally.Queries completing successfully and no panics
Not at the moment