Repository navigation
A visitor waits for a record whose bytes are not on the server yet - #1334
Merged
Merged
Conversation
The metabase check of 674726be, with #1332 in place, found 1:2168 at position 12324667346 although the objects file, opened anew, ended at 12324316892: the writer's index had reached the NFS server before its records, as writeback keeps no order between files. Opening the file again does not help there; only time does. So the rereading moves out of SoilVisitor, where #1332 put it for every reader and every failed read, into SoilTrackingVisitor>>visitRecordAt:, which catches the SoilUnreadableRecord anyway. It reads again only a record that is late (#isLate:): of a read-only database, at or past the size of the objects file the reader knows. It opens the file anew, reads at once, and then after the pauses of #rereadDelays, half a minute in all. A record inside the file is damaged and named at once. SoilVisitor>>recordAt: names an unreadable record again, as before #1332. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noha
force-pushed
the
a-visitor-waits-for-a-record-not-yet-written
branch
from
October 9, 2026 19:15
bc88c01 to
aa0b86a
Compare
This file contains hidden or 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
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.
The metabase check of 674726be, with #1332 in place, found 1:2168 at position 12324667346 although the objects file, opened anew, ended at 12324316892: the writer's index had reached the NFS server before its records. Over NFS the writer's bytes reach the server in no order between files, and opening the file again does not help there; only time does.
SoilVisitor>>reread:recordAt:in: - in the error path of #recordAt: only - opens the objects file anew and reads again, and while the record is still past the end of the file of a read-only database it waits (#rereadDelays, half a minute in all) and tries again. A record inside the file is damaged, not late, and is given up at once, as is any record of a writable database.