Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[POSIX, GCP] Separate integration from publishing checkpoints #323

Merged
merged 18 commits into from
Nov 21, 2024

Conversation

AlCutter
Copy link
Collaborator

@AlCutter AlCutter commented Nov 19, 2024

This PR disconnects the act of integrating new entries into a tree, from the act of publishing a new checkpoint which publicly commits to that new tree state for the POSIX and GCP storage implementations. (PRs for other implementations to follow.)

The rationale behind this change is two-fold:

  1. Different storage implementations should be free to integrate in whatever fashion makes most sense for the infrastructure it runs on. E.g. it may make sense for some infrastructure to make frequent smaller updates as opposed to a large batch.
  2. A controlled and predictable cadence for making new checkpoints available helps the surrounding ecosystem to function well. E.g. capacity planning for services such as witnessing relies on having some idea of how many requests will be received.

Decoupling integration from publishing checkpoints helps free up implementations to be able to solve for both (1) and (2).

Helps with #309 and #198.

@AlCutter AlCutter force-pushed the integrate_is_not_publish branch 2 times, most recently from 45b6062 to 0c0a4d4 Compare November 20, 2024 15:41
@AlCutter AlCutter requested a review from mhutchinson November 20, 2024 15:41
@AlCutter AlCutter force-pushed the integrate_is_not_publish branch 3 times, most recently from a452096 to 5ac21be Compare November 20, 2024 16:33
@AlCutter AlCutter added the enhancement New feature or request label Nov 20, 2024
@AlCutter AlCutter force-pushed the integrate_is_not_publish branch from 5ac21be to f7ee996 Compare November 20, 2024 16:38
log.go Outdated Show resolved Hide resolved
integration/integration_test.go Outdated Show resolved Hide resolved
storage/internal/options.go Show resolved Hide resolved
storage/posix/files.go Outdated Show resolved Hide resolved
storage/posix/files.go Outdated Show resolved Hide resolved
storage/posix/files.go Outdated Show resolved Hide resolved
storage/gcp/gcp_test.go Show resolved Hide resolved
storage/gcp/gcp_test.go Outdated Show resolved Hide resolved
storage/gcp/gcp.go Show resolved Hide resolved
@AlCutter AlCutter force-pushed the integrate_is_not_publish branch 6 times, most recently from eafe0a1 to 0bbfd0c Compare November 21, 2024 15:51
@AlCutter AlCutter force-pushed the integrate_is_not_publish branch from 0bbfd0c to 9120d73 Compare November 21, 2024 15:55
@AlCutter AlCutter marked this pull request as ready for review November 21, 2024 16:06
@AlCutter AlCutter force-pushed the integrate_is_not_publish branch from 621fd40 to 0f2abe6 Compare November 21, 2024 16:57
@AlCutter AlCutter force-pushed the integrate_is_not_publish branch from 0f2abe6 to 0124eac Compare November 21, 2024 16:59
storage/posix/files.go Outdated Show resolved Hide resolved
storage/posix/files.go Show resolved Hide resolved
@AlCutter AlCutter changed the title Separate integration from publishing checkpoints [POSIX, GCP] Separate integration from publishing checkpoints Nov 21, 2024
@AlCutter AlCutter merged commit 833a33c into transparency-dev:main Nov 21, 2024
15 checks passed
@AlCutter AlCutter deleted the integrate_is_not_publish branch November 21, 2024 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants