-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Re-merge ambiguous commit error PR with locking fixes #10207
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
Conversation
I'm still working on the split queue issue. |
Review status: 0 of 15 files reviewed at latest revision, 2 unresolved discussions, some commit checks failed. pkg/kv/transport.go, line 166 at r1 (raw file):
How could the previous code get away without locking while this code can't? Seems to me that you only need to protect pkg/kv/transport.go, line 235 at r1 (raw file):
I think this has a bad interaction with Comments from Reviewable |
Reviewed 15 of 15 files at r1. pkg/kv/dist_sender.go, line 1055 at r1 (raw file):
Can you add this to the comment, preferably with a link to the relevant part of the grpc source? Remember to replace pkg/kv/dist_sender.go, line 1075 at r1 (raw file):
@RaduBerinde: care to weigh in? pkg/kv/transport.go, line 151 at r1 (raw file):
not everything in this structure is protected by this mutex. Can you please introduce an anonymous struct that includes only the mutex and fields protected by it? pkg/kv/transport_test.go, line 41 at r1 (raw file):
pkg/sql/ambiguous_commit_test.go, line 45 at r1 (raw file):
Please be sure to address #10184 before merging this. pkg/sql/ambiguous_commit_test.go, line 86 at r1 (raw file):
OK, but that's not clear to me as a reader of this code, so I would prefer that you check the errors to minimize head-scratching. pkg/sql/ambiguous_commit_test.go, line 147 at r1 (raw file):
Huh? The linter doesn't know that. For the reasons mentioned above, I would prefer that you check this error. Comments from Reviewable |
Reviewed 15 of 15 files at r1. pkg/kv/dist_sender.go, line 1022 at r1 (raw file):
The meaning of "continue" here is unclear. How about "we must return an ambiguous status instead of the returned error"? pkg/kv/transport.go, line 235 at r1 (raw file):
|
Review status: all files reviewed at latest revision, 12 unresolved discussions, some commit checks failed. pkg/sql/ambiguous_commit_test.go, line 53 at r1 (raw file):
|
Review status: all files reviewed at latest revision, 12 unresolved discussions, some commit checks failed. pkg/sql/ambiguous_commit_test.go, line 86 at r1 (raw file):
|
fd578f5
to
4e88f38
Compare
Review status: all files reviewed at latest revision, 12 unresolved discussions, some commit checks failed. pkg/kv/dist_sender.go, line 1022 at r1 (raw file):
|
4e88f38
to
a477ff1
Compare
I'll address my own comments in a follow-up. Reviewed 6 of 6 files at r2. pkg/kv/transport.go, line 241 at r2 (raw file):
i don't understand the purpose of this function. all the callers already have a reference to the client, why can't they take pkg/kv/transport_test.go, line 41 at r1 (raw file):
|
Review status: all files reviewed at latest revision, 9 unresolved discussions, all commit checks successful. pkg/kv/transport.go, line 241 at r2 (raw file):
|
Review status: all files reviewed at latest revision, 9 unresolved discussions, all commit checks successful. pkg/kv/transport.go, line 241 at r2 (raw file):
|
See #10154
Fixes #10204
Fixes #10184
This change is