Skip to content

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 113 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.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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 :)


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