Skip to content
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

Return errors instead of printing to logs #897

Merged
merged 3 commits into from Apr 2, 2024

Conversation

apoorvajagtap
Copy link
Member

What type of PR is this? (check all applicable)

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update
  • Go Version Update
  • Dependency Update

Description

With #840 debug messages were printed to stderr, as this wasn't very application friendly. With this, the noise in the logs will be reduced, without impacting error handling.

Related Tickets & Documents

Added/updated tests?

  • Yes
  • No, and this is why: current tests does not cover the scenario of stderr logs, so no impact on tests with the changes.
  • I need help with writing tests

Run verifications and test

  • make verify is passing
  • make test is passing

Copy link

codecov bot commented Feb 14, 2024

Codecov Report

Attention: Patch coverage is 36.36364% with 14 lines in your changes are missing coverage. Please review.

Project coverage is 73.26%. Comparing base (e5f1a0a) to head (c8a6785).

❗ Current head c8a6785 differs from pull request most recent head cc16497. Consider uploading reports for the commit cc16497 to get more accurate results

Files Patch % Lines
server.go 0.00% 7 Missing ⚠️
proxy.go 0.00% 5 Missing ⚠️
client.go 83.33% 1 Missing ⚠️
conn.go 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #897      +/-   ##
==========================================
+ Coverage   71.60%   73.26%   +1.66%     
==========================================
  Files          11       11              
  Lines        1585     1575      -10     
==========================================
+ Hits         1135     1154      +19     
+ Misses        345      320      -25     
+ Partials      105      101       -4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With one exception, the logged errors are the result of calling a network connection Close() method on an error path. It's reasonable to ignore these close errors for two reasons:

  • The functions are returning a more important error.
  • There's nothing that the application can do with the information in the close error.

I would remove the calls to log.Printf by undoing the changes in 666c197.

If you are going to return the close error with errors.Join, then the secondary close error should come last in the list of errors. This does do things: the primary comes first in the error string; search on the error tree visits the primary error first.

The one exception is the error returned from bw.Flush(). That call should never return an error. It is correct to add the call to panic.

proxy.go Outdated Show resolved Hide resolved
client.go Outdated Show resolved Hide resolved
client.go Outdated Show resolved Hide resolved
proxy.go Outdated Show resolved Hide resolved
@AlexVulaj
Copy link
Member

This looks good to me. @GreenMarmot as you've been extremely helpful with these changes, do you see any further issues with this PR as it is? If not, I'd like to go ahead and merge it.

@AlexVulaj AlexVulaj merged commit 09a6bab into gorilla:main Apr 2, 2024
7 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] 1.5.1 uses log.Printf
2 participants