Add support for page cache overcommit #8
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.
Other significant changes:
TURTLE_KV_PROFILE_QUERIES/TURTLE_KV_PROFILE_QUERIESAdded to
turtle_kv/config.hppto control whether metric collection is compiled along critical paths.BatchUpdateMetricsMetrics are now collected for batch updates in particular; these are propagated through the call stack via the BatchUpdate struct; this motivates changing a lot of function signatures that previously received PageLoader, to now take a BatchUpdate ref. This also allowed some cleanup inside the node algorithms code to update pending bytes counts.
try_split/try_split_directRefacted InMemoryNode splitting to better separate the core "direct" splitting code from the outer retry loop that detects certain exceptional conditions and applies heuristic fixes.
Trie Index building (
PackedLeafPage)Added some new code to handle edge cases (e.g. leaf contains a single key, item count is less than 16, etc.)