-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
split: flush BufWriter before replacing to detect write errors #10892
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
Conversation
| // file that was distributed with this source code. | ||
| // spell-checker:ignore xzaaa sixhundredfiftyonebytes ninetyonebytes threebytes asciilowercase ghijkl mnopq rstuv wxyz fivelines twohundredfortyonebytes onehundredlines nbbbb dxen ncccc rlimit NOFILE | ||
|
|
||
| use rand::{Rng, SeedableRng, rng}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I got a local clippy error for this, then I fixed it and now its failing in the CI? 🤔
Merging this PR will degrade performance by 67.52%
Performance Changes
Comparing Footnotes
|
|
Its now passing the "tests/split/split-io-err" but the comment didn't succeed due to an issue with determining the prior gnu results |
|
The performance decline can probably be helped with this: #10251 |
0c7f498 to
9f69014
Compare
|
I'm trying a new approach that combines the two PR's, one that reuses the bufwriter and one that handles the errors correctly, I can split them up but wanted to see if the performance degradation is still there |
|
Its a bit too much code, going to do the re-usable buffer PR before the GNU test fix PR, but just waiting to see the codspeed results |
|
GNU testsuite comparison: |
This fixes an issue we have with our buffer writers where we do not flush the buffers before they are dropped which means that if there is an error when writing the buffers it will be suppressed. This change also adds the filename to the struct so that the error message is able to provide the file name to match the gnu implementation.
This should address the test
tests/split/split-io-err