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

flamenco: implement verify_ticks #3829

Merged
merged 1 commit into from
Jan 8, 2025
Merged

flamenco: implement verify_ticks #3829

merged 1 commit into from
Jan 8, 2025

Conversation

yufeng-jump
Copy link
Contributor

No description provided.

src/flamenco/runtime/fd_runtime.c Outdated Show resolved Hide resolved
src/flamenco/runtime/fd_runtime.c Outdated Show resolved Hide resolved
@@ -827,25 +827,70 @@ fd_runtime_block_prepare( fd_blockstore_t * blockstore,
return 0;
}

Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe it makes sense for this function to be in fd_blockstore... Not sure though

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'm in favor

return FD_BLOCK_ERR_TRAILING_ENTRY;
}

/* Not returning FD_BLOCK_ERR_INVALID_LAST_TICK because we assume the
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you explain why this exists in agave. I am pretty sure that in agave, slot_full is always true

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 don't think we need this complexity. My best guess is that they had/have fantasies about replaying blocks piecemeal and thus verifying ticks before a block is full. We don't have a streaming execution model yet, so all our blocks are either just full, or they are not gonna be replayed at all. When we do eventually move to a streaming execution model, we can always update this function to support streaming tick verification, or just do tick verification at the end of a block.

src/flamenco/runtime/fd_runtime.c Outdated Show resolved Hide resolved
src/flamenco/runtime/fd_runtime.c Outdated Show resolved Hide resolved
@yufeng-jump yufeng-jump force-pushed the yufeng/verify-ticks branch 16 times, most recently from 42973b4 to c01d002 Compare January 7, 2025 00:55
@yufeng-jump yufeng-jump added this pull request to the merge queue Jan 8, 2025
Merged via the queue into main with commit 0599cbd Jan 8, 2025
10 checks passed
@yufeng-jump yufeng-jump deleted the yufeng/verify-ticks branch January 8, 2025 23:34
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