forked from google/leveldb
-
Notifications
You must be signed in to change notification settings - Fork 8
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
Task AB#1310795: [LevelDB] Fixing an issue where a carriage return in the CURRENT file would consider our files as corrupted. #8
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Oops, something went wrong.
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.
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.
Change looks fine as is but I wonder when do we have this condition (file ending with \r only not with the combination \r\n) ... wasn't this condition a side effect of not having the change below? (as in the first time we call recover it goes and clears the \n but not the \r and now the file is all weird).
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.
Doesn't seem like the
current.resize(current.size() - 1);
causes this problem sincecurrent
is just a string that gets reinitialized each timeRecover
is called. Removing the /n incurrent
(for posix devices) on the first run shouldn't cause the next value ofcurrent
afterRecover
is called again to be messed up since it's reinitialized withReadFileToString
. Seems like value ofcurrent
is only adjusted for settingdscname
. Not why file would be ending with \r, but this fix seems to have fixed whatever was causing it, but the original author of this commit was unable to remember the specifics.