-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
sql/logictest: use of a closed engine's FS can result in a goroutine leak; TestLogic flaky #84437
Comments
@yuzefovich - are you able to help triage this? I assume one of the |
Linking one of the flakes from the other issue. Probably the action item here is to first logic tests with |
Action item: reproduce more deterministically to understand where the leak is coming from |
Ran into a leak in one of the CI builds on |
@nicktrav are the disk health checks still running? We haven't seen a failure recently. Can we close this? |
@rytaft - I think we probably can, yes. We still have |
The `DisableFilesystemMiddlewareTODO` Pebble option was added as a temporary workaround to suppress errors arising from file descriptor leaks in unit tests, when the disk-health checking filesystem is used. Remove the temporary config option. Touches cockroachdb#84437. Release justification: Low risk, high benefit changes to existing functionality. Release note: None.
86692: vendor: bump Pebble to 4cc0974fdade r=nicktrav,msbutler a=jbowens ``` 4cc0974f *: propagate pointer to InternalIteratorStats 9c2bc013 metamorphic: print out correct options name on test failure b83dd2c7 *: fix error handling in simpleLevelIter 70943038 *: use Equal for more efficient equality comparisons 7030aaab metamorphic: fix iterSeekLTWithlimit 89408b27 tool: support range keys ``` Release note: None Release justification: Non-production code changes, low-risk high-benefit changes to existing functionality and bug fixes for new functionality. 86704: storage: remove `DisableFilesystemMiddlewareTODO` r=jbowens a=nicktrav The `DisableFilesystemMiddlewareTODO` Pebble option was added as a temporary workaround to suppress errors arising from file descriptor leaks in unit tests, when the disk-health checking filesystem is used. Remove the temporary config option. Touches #84437. Release justification: Low risk, high benefit changes to existing functionality. Release note: None. Co-authored-by: Jackson Owens <[email protected]> Co-authored-by: Nick Travers <[email protected]>
Describe the problem
A Pebble change in #81389 uncovered a handful of tests where an engine's filesystem (FS) is used after it is closed, which can result in goroutine leaks. This can increase the test flake rate.
There are two main paths to addressing. Option A - Eliminate the use of the FS after it is closed (preferable, but unclear how much refactoring / yak shaving is required). Option B - make use of the
DisableFilesystemMiddlewareTODO
engine option as a temporary workaround to bypass the code in Pebble that tickles the leak.Related issues / comments:
Jira issue: CRDB-17660
The text was updated successfully, but these errors were encountered: