-
-
Notifications
You must be signed in to change notification settings - Fork 750
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
Fix sse and nginx buffering #5042
Conversation
Well it turns out setting the timeout will cut off the stream going back to the client which causes other issues client side. Going to have to keep digging here. |
e4ab95c
to
ca0d46f
Compare
looks like circle and travis had issues. |
Looks like this section of code is missing unit testing. I will create a few. |
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.
There's no description for the PR. It looks like you're trying to fix a hang on your setup. You have to provide more information in the description. How is your environment setup? What is the problem you're trying to solve with this patch? What's the solution? What's end event and end execution ID do? How is the cacert option has to do with this change? Proxy timeout? There's a lot of dial that are touched but there's no comments and no description what these options are fixing.
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.
Thank you for including detail explanation in the comments of this PR. This goes a long way to help reviewer understand the context of the change(s).
What happens if something is wrong and the expected end event and end execution ID never arrives? Will the client connection time out? What will the client output looks like in this case?
You would get the same UX as the current implementation of code without this change. The client will hang on writing the results to stdout and you will need to kill the command with ctrl-c. |
@guzzijones Thanks for the clarification. Ok with the fix as the events cover most completed statuses and failure case when there's a connection issue or other unforeseen errors. |
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.
@guzzijones Thank you for contributing this fix.
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.
Just a reminder that we'll need a Changelog for this fix before merging.
Ok will do.
…On Sat, Nov 14, 2020, 7:57 AM Eugen Cusmaunsa ***@***.***> wrote:
***@***.**** requested changes on this pull request.
Just a reminder that we'll need a Changelog for this fix before merging.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#5042 (review)>,
or unsubscribe
</~https://github.com/notifications/unsubscribe-auth/ACZ5TINZWA44S5VV5VOIFMDSPZ5FJANCNFSM4RPL5UTA>
.
|
update change log for PR StackStorm#5042 on github
update contributed by in changelog for long polling fix
edit change log per request for sse bugfix
Environment:
PYTHON_VERSION=python3.6 make requirements.txt
setup nginx
st2.conf
listening on 8443client call:
What is the problem you're trying to solve with this patch?
#4842
What's the solution?
Solution is to watch the execution id status events and look for one of the LIVEACTION_STATUS_COMPLETED events
What's end event and end execution ID do?
tell the
generator
function in stream to stop sending events back to the clientHow is the cacert option has to do with this change?
allows stream to use the --cacert option via command line. Needed this to test the change using a self signed certificate.
Proxy timeout?
sets a reasonable timeout for connection and for read. other endpoints have it as well.