-
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
storage: Raft gRPC unmarshal errors #7258
Comments
Could it be a thread-safety issue? We may start up multiple goroutines writing to the same snapshot stream. This was fine in the original version where each async task started a new stream, but now that we reuse a stream we may need a mutex or other synchronization. |
Yep, I bet this is it. I'll refactor the transport to use a separate queue for snapshots, which should make everything simpler here. |
I later re-ran my test with a binary built using the On Thu, Jun 16, 2016 at 4:18 PM Tamir Duberstein [email protected]
|
The race detector is also not infallible. This might not be a "real" data race; perhaps everything is data-safe, but results in interleaving of data on the wire. |
When running the 1->3 allocator test (see cockroachdb/cockroach-prod#89), I see one of the following log entries every couple of seconds:
cc @tamird & @tschottdorf who might have extra context
This is happening as recently as 3acc834 and is unaffected by #7252, another fix to
(*RaftTransport).processQueue()
.The text was updated successfully, but these errors were encountered: