Repository navigation
Benchmark recovery after a crash - #45
Merged
Merged
Conversation
A child JVM ingests nodes and prints every acknowledged commit. The parent kills it with SIGKILL halfway, times opening the directory and counts how many acknowledged nodes are missing. HStoreStore can now open an existing directory without redefining its types.
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.
Closes #36
reopencloses the store cleanly first. The newrecoverworkload doesn't:Comparison crash) with the same flags and classpath. It ingests nodes into a fresh directory and prints the count after every acknowledged commit.destroyForcibly(SIGKILL).The report shows the open time in the main table, and acknowledged nodes lost in the Resources table. That row is shown even when both are 0, since 0 is the point. The result depends on timing, so Results agree is n/a.
ingestNodestakes an optional callback per commit, both adapters can count their nodes, andHStoreStorecan open an existing directory without redefining its types. Store creation inComparisonmoved into oneopenhelper that the run, the crash child and the recovery share.One limit, which the docs spell out: SIGKILL is a process crash, not a power cut. Whatever an engine has handed to the OS survives it even without an fsync. So this measures recovery time and in-process buffering, not whether
syncreaches the disk. Torn writes and lost fsyncs are whatCrashRecoveryTestis for.Smoke runs at scale 1, one each. Both children were killed at 25,000 of 50,000 acknowledged nodes, and no child processes were left behind.