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
Do not handle network error in SetCloseHandler()
#863
Conversation
For more detail, we have an unit test as https://github.com/knative/serving/blob/65ce2aece44a5bc5550b54aef657a82f0a6ce61b/pkg/autoscaler/statserver/server_test.go#L111 but it stops getting |
This may have been fixed in #865 can you take a look and verify? |
No, #865 does not fix the issue. I looked at and also verified it. |
Then there is a merge conflict with this pull request now that needs to be resolved then. |
With this change and 865, the close handler will in effect ignore all errors. Consider changing the code to ignore all errors as as the code did prior to August of this year. It's more important to return the CloseError to the application than any error returned from writing the control message. |
I think the close handler with this PR will not ignore all errors but will return some error such as
I sort of agree that the close handle should ignore all errors. But I cannot confirm that so this PR ignores network error only for now. |
The websocket connection ignored the error returned from echoing the close message until the PR in August. It seems safe to revert back to the original code. |
Okay, thank you. Updated |
@coreydaley Could you please take a look? |
@coreydaley gentle ping. |
There was a recent issue brought up about noisy, unactionable error messages that may be related here: #878 I'm in favor of taking a similar approach and ignoring the error in this specific case. @coreydaley thoughts? |
@coreydaley @AlexVulaj Sorry for bothering you. But could you please take a look? |
@coreydaley @AlexVulaj gentle ping. |
Hey folks - what's the latest with this PR? Knative is hoping to bump to 1.5.1+ but this is blocking us |
ed1d6bc
to
42fd2c0
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #863 +/- ##
==========================================
+ Coverage 70.52% 71.21% +0.69%
==========================================
Files 11 11
Lines 1591 1584 -7
==========================================
+ Hits 1122 1128 +6
+ Misses 358 349 -9
+ Partials 111 107 -4 ☔ View full report in Codecov by Sentry. |
As gorilla/websocket#863 was merged, we can bump the gorilla websocket to the latest version. Fix knative#14597
The 666c197 added an error handling in
SetCloseHandler()
and peer stops gettingCloseError
when network issue likewrite: broken pipe
happens because the close handle returns the error.Hence this patch changes to skip network error handling.