Skip to content

PBTree: Logging Disabled with Ratis and Pre-Allocation Disabled for devices using template#11467

Merged
MarcosZyk merged 9 commits intoapache:masterfrom
bigreybear:pbtree_optm1
Nov 7, 2023
Merged

PBTree: Logging Disabled with Ratis and Pre-Allocation Disabled for devices using template#11467
MarcosZyk merged 9 commits intoapache:masterfrom
bigreybear:pbtree_optm1

Conversation

@bigreybear
Copy link
Contributor

@bigreybear bigreybear commented Nov 2, 2023

Description

PBTree Logging

Previously, PBTree employed a double-buffering-like log mechanism to ensure file integrity. However, this has become redundant under Ratis consensus, where integrity is assured through snapshots and Ratis logs. Now, PBTree no longer logs under Ratis consensus.

Pre-Allocation

In its initial design, PBTree would pre-allocate a segment (consider it a buffer for child nodes) for the Internal/Device child of the incoming node, reducing overhead of parental pointer updates when the child is passed in. This mechanism remains effective, except for device nodes using templates, as they no longer have any children.

@MarcosZyk MarcosZyk merged commit 0b8faac into apache:master Nov 7, 2023
HTHou pushed a commit that referenced this pull request Dec 20, 2023
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