-
-
Notifications
You must be signed in to change notification settings - Fork 646
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
Upgrade to v2 of bazel protobuf #6027
Conversation
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.
Thanks!
@@ -39,6 +39,40 @@ enum ExecutionError { | |||
NotFinished(String), | |||
} | |||
|
|||
impl CommandRunner { | |||
// The Execute API used to be unary, and became streaming. The contract of the streaming API is | |||
// that if the client disconnects after one request, it should continue to function exactly like |
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.
Is this a literal disconnection, ie closed connection? Or is this a single stream being closed on a multiplexed connection? Potentially expensive if the former...
Maybe worth a TODO to drop this when servers have migrated, if this is a compatibility thing.
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.
The underlying channel stays open, but the stream on top of it gets closed.
Reworded, added comment about possible future.
stream | ||
.take(1) | ||
.into_future() | ||
// Drop the _stream to disconnect so that the server doesn't keep the connection alive and |
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.
Comment moved below?
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.
Reworded both comments.
grpcio::RpcStatusCode::Unimplemented, | ||
None, | ||
)); | ||
unimplemented!() |
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.
Because this method is deprecated, or...?
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.
Added comment
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.
Looks great! Some changes took some time to understand, but makes sense now! I'm exited to see this work end to end!
stream | ||
.take(1) | ||
.into_future() | ||
// Drop the _stream to disconnect so that the server doesn't keep the connection alive and |
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.
Maybe adding to the comment that this is dropping the stream if this is an error, and another comment for the other line that it is dropping the stream if it succeeds.
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.
Done
)) | ||
}) | ||
}) | ||
// The unwrap() below is safe because we have joined any futures that had references to the Arc |
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.
This comment is no longer relevant.
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.
Removed
Key differences: * Execute is a streaming RPC - we only support a single response per stream. * Action is now a separate proto addressed by digest, rather than inlined. * Inline output files are no longer supported. * Output files are now specified on Command not Action.
1acf9a7
to
596538d
Compare
Key differences:
stream.
inlined.