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

sort: add retry logic on file-descriptor exhaustion #7197

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

Conversation

karlmcdowall
Copy link
Contributor

Partial fix for bug #5714
Rework the merging logic to continue if we error-out due to file descriptor exhaustion. Merging will only stop if no progress can be made.
Also minor tweek to code handling output-is-an-input scenario to prevent a double-open of the generated temp-file.
Updated appropriate test case.

Copy link

GNU testsuite comparison:

GNU test failed: tests/sort/sort-merge. tests/sort/sort-merge is passing on 'main'. Maybe you have to rebase?
Skipping an intermittent issue tests/misc/stdbuf (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/misc/usage_vs_getopt (passes in this run but fails in the 'main' branch)

@cakebaker
Copy link
Contributor

I don't know if you have seen it, but it looks like your changes break the tests/sort/sort-merge GNU test :|

@karlmcdowall
Copy link
Contributor Author

Yeah... I'll work on a fix, shouldn't take too long...

@karlmcdowall karlmcdowall force-pushed the sort_replace_file_copy branch 2 times, most recently from ea1d1c3 to 5807deb Compare January 24, 2025 22:17
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/misc/stdbuf (fails in this run but passes in the 'main' branch)
Skipping an intermittent issue tests/misc/usage_vs_getopt (passes in this run but fails in the 'main' branch)

@karlmcdowall karlmcdowall marked this pull request as draft January 26, 2025 15:18
@karlmcdowall karlmcdowall force-pushed the sort_replace_file_copy branch 2 times, most recently from dc92eb1 to 25c27ba Compare January 26, 2025 15:42
@karlmcdowall karlmcdowall marked this pull request as ready for review January 26, 2025 15:42
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/misc/stdbuf (fails in this run but passes in the 'main' branch)
Skipping an intermittent issue tests/timeout/timeout (passes in this run but fails in the 'main' branch)

@karlmcdowall karlmcdowall force-pushed the sort_replace_file_copy branch 2 times, most recently from ba1abb7 to b35dda2 Compare January 28, 2025 19:00
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/misc/usage_vs_getopt (fails in this run but passes in the 'main' branch)
GNU test failed: tests/sort/sort-compress. tests/sort/sort-compress is passing on 'main'. Maybe you have to rebase?
Skipping an intermittent issue tests/timeout/timeout (passes in this run but fails in the 'main' branch)

@karlmcdowall karlmcdowall force-pushed the sort_replace_file_copy branch from b35dda2 to b6731f7 Compare January 28, 2025 20:22
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/misc/stdbuf (fails in this run but passes in the 'main' branch)
Skipping an intermittent issue tests/timeout/timeout (passes in this run but fails in the 'main' branch)

@cakebaker cakebaker force-pushed the sort_replace_file_copy branch from b6731f7 to 54800f2 Compare January 31, 2025 09:14
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/misc/stdbuf (fails in this run but passes in the 'main' branch)
Skip an intermittent issue tests/misc/usage_vs_getopt (fails in this run but passes in the 'main' branch)

Partial fix for bug uutils#5714
Rework the merging logic to continue if we error-out due to file
descriptor exhaustion. Merging will only stop if no progress can
be made.
Also minor tweek to code handling output-is-an-input scenario to
prevent a double-open of the generated temp-file.
Updated appropriate test case.
@karlmcdowall karlmcdowall force-pushed the sort_replace_file_copy branch from 54800f2 to 12d3ed7 Compare February 1, 2025 01:50
Copy link

github-actions bot commented Feb 1, 2025

GNU testsuite comparison:

Skipping an intermittent issue tests/misc/usage_vs_getopt (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/timeout/timeout (passes in this run but fails in the 'main' branch)

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.

2 participants