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

Re-execution of pending certs must happen concurrently with consensus handling, since there may be dependencies in either direction. #21000

Merged
merged 2 commits into from
Jan 30, 2025

Conversation

mystenmark
Copy link
Contributor

No description provided.

@mystenmark mystenmark requested a review from aschran January 28, 2025 22:05
@mystenmark mystenmark temporarily deployed to sui-typescript-aws-kms-test-env January 28, 2025 22:05 — with GitHub Actions Inactive
Copy link

vercel bot commented Jan 28, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
sui-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jan 29, 2025 11:32pm
2 Skipped Deployments
Name Status Preview Comments Updated (UTC)
multisig-toolkit ⬜️ Ignored (Inspect) Visit Preview Jan 29, 2025 11:32pm
sui-kiosk ⬜️ Ignored (Inspect) Visit Preview Jan 29, 2025 11:32pm

@@ -436,7 +436,7 @@ impl CheckpointExecutor {

/// Post processing and plumbing after we executed a checkpoint. This function is guaranteed
/// to be called in the order of checkpoint sequence number.
#[instrument(level = "debug", skip_all)]
#[instrument(level = "info", skip_all, fields(seq = ?checkpoint.sequence_number()))]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did you mean to merge this "info" level bump?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, once-per-checkpoint spans are good candidates for info level imo

"state-sync should have ensured that transaction with digest {:?} exists for checkpoint: {checkpoint:?}",
digests.transaction,
"state-sync should have ensured that transaction with digests {:?} exists for checkpoint: {checkpoint:?}",
digests
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you like - inline "digests" into the format str?

components.consensus_adapter.submit_recovered(&epoch_store);

// Start the gRPC server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this seems subtle and not sure I get it, why does this now have to get pulled out and started earlier here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its actually getting started later - we need to wait until all previously-executed txns have been re-executed before accepting user requests, so that we don't appear to have forgotten about a transaction

@@ -2042,6 +2051,30 @@ impl SuiNode {
}
}

enum ValidatorGrpcServerHandle {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this enum seems to have nothing (internally) to do with being a validator gRPC server? is this just to make starting idempotent? I am confused by its name being so much more specific than what it appears to do

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair... but i'm not sure what else to call it? its not really a general purpose thing?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe OnceStarter or SpawnOnce?

or maybe you can use this instead?
https://docs.rs/once_cell/latest/once_cell/sync/struct.Lazy.html

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like SpawnOnce

@mystenmark mystenmark requested a review from aschran January 29, 2025 16:25
Copy link
Contributor

@aschran aschran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approve w one last idea/suggestion

… handling, since there may be dependencies in either direction.
@mystenmark mystenmark force-pushed the mlogan-rexecution-fix branch from 8a8dc4d to 02fb8de Compare January 29, 2025 23:30
@mystenmark mystenmark temporarily deployed to sui-typescript-aws-kms-test-env January 29, 2025 23:30 — with GitHub Actions Inactive
@mystenmark mystenmark enabled auto-merge (squash) January 29, 2025 23:31
@mystenmark mystenmark merged commit 8a72297 into main Jan 30, 2025
46 of 47 checks passed
@mystenmark mystenmark deleted the mlogan-rexecution-fix branch January 30, 2025 00:02
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