You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat(bigquery/storage/managedwriter): graceful connection drains
This PR enables a more graceful shutdown when we're doing client
initiated reconnects, typically in response to things like schema
changes.
With this PR, rather than immediately cancelling the previous connection
context, we instead use a goroutine to defer this by a fixed interval,
which gives our recv goroutine more time to process any incoming
notifications from the service.
This can yield a net reduction in duplicate rows for some scenarios,
particularly when EnableWriteRetries is enabled and we see sequential
disconnects (e.g. a multiplex connection observing a number of schema
updates).
It does, however, yield possible short term increases in resource usage,
as we're now potentially retaining goroutines/channels/connections for a
longer interval during these reconnect events. This PR updates testing
that looks for leaking resources with this new understanding
accordingly.
0 commit comments