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

feat(cmd/serve): add in default-shutdown-timeout flag to increase shutdown timeout on http server shutdown #1162

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ottingbob
Copy link

Under the hood ory/oathkeeper uses https://github.com/ory/graceful to shutdown the HTTP proxy. The graceful package provides a constant called DefaultShutdownTimeout which sets the timeout to be 5 seconds.

We have an application that can take up to 60 seconds to finish processing requests and we need a solution to be able to change this shutdown time in order for those requests to complete successfully.

As a result, we need a way to configure oathkeeper to bump up that timeout and the implementation has a flag that will be able to override the global variable set in the graceful package. Although this does not seem like the most ideal solution it provides a way for us to change that value.

Curious to hear suggestions on what may be an alternative approach to get a similar outcome & would be happy to try and make the changes needed for any feedback to help enable that.

Checklist

  • I have read the contributing guidelines.
  • I have referenced an issue containing the design document if my change
    introduces a new feature.
  • I am following the
    contributing code guidelines.
  • I have read the security policy.
  • I confirm that this pull request does not address a security
    vulnerability. If this pull request addresses a security vulnerability, I
    confirm that I got the approval (please contact
    security@ory.sh) from the maintainers to push
    the changes.
  • I have added tests that prove my fix is effective or that my feature
    works.
  • I have added or changed the documentation.

@ottingbob ottingbob requested a review from aeneasr as a code owner April 29, 2024 19:54
@CLAassistant
Copy link

CLAassistant commented Apr 29, 2024

CLA assistant check
All committers have signed the CLA.

@ottingbob
Copy link
Author

Curious to hear suggestions on what may be an alternative approach to get a similar outcome & would be happy to try and make the changes needed for any feedback to help enable that

Copy link

codecov bot commented Apr 29, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 77.81%. Comparing base (8fc9b7a) to head (2d97c76).
Report is 6 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1162      +/-   ##
==========================================
- Coverage   77.90%   77.81%   -0.09%     
==========================================
  Files          80       80              
  Lines        3929     4044     +115     
==========================================
+ Hits         3061     3147      +86     
- Misses        595      617      +22     
- Partials      273      280       +7     

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

Copy link
Member

@aeneasr aeneasr left a comment

Choose a reason for hiding this comment

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

Awesome, thank you for your contribution! This looks pretty good and I have some ideas how to improve it further :)

@@ -32,4 +32,5 @@ func init() {

serveCmd.PersistentFlags().Bool("disable-telemetry", false, "Disable anonymized telemetry reports - for more information please visit https://www.ory.sh/docs/ecosystem/sqa")
serveCmd.PersistentFlags().Bool("sqa-opt-out", false, "Disable anonymized telemetry reports - for more information please visit https://www.ory.sh/docs/ecosystem/sqa")
serveCmd.PersistentFlags().Int("default-shutdown-timeout", 5, "Set the default shutdown timeout in seconds for server shutdown when trapping SIGTERM and SIGINT")
Copy link
Member

Choose a reason for hiding this comment

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

In my view this should go into the config file instead

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants