fix runtime tests: close watcher & set default GracefulShutdownPeriod
#7991
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why the changes in this PR are needed?
When I stress test
runtimeunit tests, there are two errors surface:too many opened filesonstartWatcher()context deadline exceedon server shutdownChecking
fsnotifyexamples, awatcher.Close()is used to close the file which I failed to find in the current codebase. If we don't setGracefulShutdownPeriod, the default value would be 0, and the server must shutdown in 0s.What are the changes in this PR?
opa/cmd/test.go
Lines 287 to 300 in e048c19
NewParam()to have a default 1sGracefulShutdownPeriodto avoid immediate context expiryNotes to assist PR review:
fix #7956
Further comments:
The original PR focused on closing watchers. However, seeing the broken CI leads me to the
GracefulShutdownPeriodchange, which is independent to watchers. The new fix is only a one-line update, and I amended the fix here. If it's better to keep them separate, I can create another PR forGracefulShutdownPeriodchange as well.