-
Notifications
You must be signed in to change notification settings - Fork 831
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鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add the functionality for truncating files on Windows #18958
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apetenchea
changed the title
Add the posibility the truncate files in Windows
Add the functionality for truncating files on Windows
May 11, 2023
jsteemann
reviewed
May 11, 2023
apetenchea
force-pushed
the
bug-fix/issue-18919-ioheartbeat-file-creation
branch
from
May 12, 2023 08:23
80c0cd5
to
2b0b616
Compare
This was referenced May 12, 2023
neunhoef
approved these changes
May 12, 2023
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.
LGTM
jsteemann
reviewed
May 12, 2023
jsteemann
approved these changes
May 12, 2023
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.
LGTM
Dronplane
approved these changes
May 12, 2023
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.
LGTM
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Scope & Purpose
This PR addresses an issue caused by the ever growing log files on Windows, due to errors reported from the
IOHeartbeatThread
. TheIOHeartbeatThread
feature periodically checks that we are able to write to disk. It does so by creating a file, writing data to it, and finally removing it. In case the file already exists (for example, due to the process being restarted), theIOHeartbeatThread
is unable to create the file again on Windows and it gets stuck. Every other second, it prints the following message:IOHeartbeat: exception when writing test file: write failed for file 'TestFileIOHeartbeat': No error
As you can see, there are two problems:
No error
, which only confuses the user. This PR adds the necessary Windows code for reporting the last system call error. This is an effort to improve the overall error reporting of the system.TRI_createFile
used to work, being limited to either creating a non-existing file (CREATE_NEW) or opening an already existing file (OPEN_ALWAYS), but the code for overwriting an existing file was never added (CREATE_ALWAYS). You can think of it as the equivalent of O_TRUNC on Linux, which is exactly how theIOHeartbeatThread
creates the file on Linux.Checklist
Related Information
Reported in issue: #18919
TestFileIOHeartbeat
聽#18919