mtca: add sequencing#8826
Open
jsha wants to merge 2 commits into
Open
Conversation
61d461f to
1b50762
Compare
4d6f531 to
6adde54
Compare
da1f834 to
a9d106b
Compare
This is a partial implementation: it doesn't really write to tile storage, or calculate realistic hashes. In Loop(), take the current contents of the pool, "sequence" them by increasing the tree size and generating a fake root hash randomly, and write a new checkpoint row. Add a new table, `latestCheckpoints`. This has a single row per log, referring to the latest checkpoint. This allows us to take an exclusive lock while signing to prevent signing split views.
a9d106b to
b9f5ab7
Compare
Contributor
|
@jsha, this PR appears to contain configuration and/or SQL schema changes. Please ensure that a corresponding deployment ticket has been filed with the new values. |
Contributor
Author
|
Thanks bot! The SQL and config changes will be stacked up as part of general MTCA testbed deployment. |
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.
This is a partial implementation: it doesn't really write to tile storage, and it fakes out hash calculation with random data.
In Loop(), take the current contents of the pool, "sequence" them by increasing the tree size and generating a fake root hash randomly, and write a new checkpoint row.
Add a new table,
latestCheckpoints. This has a single row per log, referring to the latest checkpoint. This allows us to take an exclusive database lock ("SELECT ... FOR UPDATE") to prevent signing split views.As part of this process, iterate on the vindexes for the mtcmeta schema. The relevant tables (checkpoints, latestCheckpoint, and landmarks) will have a primary vindex of mtcLogID, which will allow us to shard by log in a Vitess world. In a MariaDB world we will have a database per issuance log, to permit independent logs in different datacenters.