-
Notifications
You must be signed in to change notification settings - Fork 381
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Allow not storing ephemeral node hashes (#2568)
This change adds --tree_ids_with_no_ephemeral_nodes flag to the sequencer, which allows disabling the writes of ephemeral nodes for a subset of Trillian trees. The plan is to disable it unconditionally in the next release, but the flag helps to test the new behaviour safely on a subset of trees. The stored ephemeral nodes are not used because all the higher level logic uses compact ranges, operating only with the "perfect" nodes. Since commit df47465 on Jul 13, 2021 ephemeral nodes are never read from the tree storage. Not storing ephemeral nodes also has a positive performance effect. Previously, every sequencing transaction for a typical tree of hundreds of millions entries would write at least 4 tiles at the tree edge, because it "touched" all the ephemeral nodes. Now, it will only touch perfect nodes, which for a typical transaction are in the bottom 1-2 tiles. Relatedly, now that only non-ephemeral node updates trigger a tile write, every tile can be written at most 256 times, whereas previously tiles could be written millions of times (e.g. the root tile of the tree). It led to issues like #1188 which is the result of needing to scan / query millions of rows.
- Loading branch information
Showing
3 changed files
with
38 additions
and
14 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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