Skip to content

Object log recovery fixes#158

Merged
badrishc merged 2 commits intomasterfrom
objlogrecoveryfixes
Jul 23, 2019
Merged

Object log recovery fixes#158
badrishc merged 2 commits intomasterfrom
objlogrecoveryfixes

Conversation

@badrishc
Copy link
Collaborator

The logic for reading records in the presence of an object log was writing directly to a pinned array of managed objects, to avoid fine grained copy of parts of the log that are not managed. However, this solution has problems in the presence of GC. This checkin primarily undoes this optimization for the sake of correctness. There are a few other minor improvements, such as using a SafeConcurrentDictionary to store file handles, to avoid spurious creation when many threads read in parallel.

@badrishc
Copy link
Collaborator Author

We also add an option to enable file buffering for the storage device, and ensure that during recovery, we only load records from HeadAddress onwards into main memory.

Copy link

@peterfreiling-zz peterfreiling-zz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@badrishc badrishc merged commit 1205739 into master Jul 23, 2019
@badrishc badrishc deleted the objlogrecoveryfixes branch July 23, 2019 18:07
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