Skip to content

Conversation

@pongad
Copy link
Contributor

@pongad pongad commented Apr 4, 2018

Previously we send ack/modack requests on the StreamingPull streams.
However, if pull responses are buffered, gRPC cannot promptly tell us
that the stream is broken, so we'll keep sending requests on the dead
stream.

This commit implements a temporary solution. We send requests by unary
RPCs instead and only use streaming for receiving messages.

Load test shows no regression. However, modacks seem to take longer to
take effect. The timeout for nack test had to be increased.

cc @mdietz94

Previously we send ack/modack requests on the StreamingPull streams.
However, if pull responses are buffered, gRPC cannot promptly tell us
that the stream is broken, so we'll keep sending requests on the dead
stream.

This commit implements a temporary solution. We send requests by unary
RPCs instead and only use streaming for receiving messages.

Load test shows no regression. However, modacks seem to take longer to
take effect. The timeout for nack test had to be increased.
@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Apr 4, 2018
@mdietz94
Copy link

mdietz94 commented Apr 4, 2018

This LGTM. It is expected this would add additional latency to ack/mod ack operations, so all buffer amounts should be increased accordingly, but this looks good.

@pongad pongad merged commit d458207 into googleapis:master Apr 4, 2018
@pongad pongad deleted the pubsub-send branch April 4, 2018 20:38
@j256
Copy link

j256 commented May 30, 2018

For the record, this fix may also have the side effect of properly ack-ing messages when the subscriber is shutdown with acks outstanding. I was tracking a problem where acks were getting lost and it goes away in 0.43 which includes this PR. Thanks!

@j256
Copy link

j256 commented May 30, 2018

This also might actually be the change that fixed #3065.

@pongad
Copy link
Contributor Author

pongad commented May 30, 2018

Thank you for tracking this down. This seems to be a better change than expected... 😆

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yes This human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants