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

Remove cond_var in verification_complete at startup #3507

Merged
merged 2 commits into from
Nov 7, 2024

Conversation

HaoranYi
Copy link

@HaoranYi HaoranYi commented Nov 6, 2024

Problem

WaitableCondVar in VerifyAccountsHashInBackground struct at startup is no longer needed. We no longer block the main thread during hash verification. And the only call on the cond_var is wait_for_timeout with duration of zero, which doesn't block at all. And this wait is unnecessary, since we can know if the background process has completed from another atomic variable 'background_completed`.

Summary of Changes

Remove cond_var in VerifyAccountsHashInBackground

Fixes #

Copy link

@jeffwashington jeffwashington left a comment

Choose a reason for hiding this comment

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

lgtm

Copy link

@brooksprumo brooksprumo left a comment

Choose a reason for hiding this comment

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

:shipit:

I think the one nice thing about the condition variable is the notify/wakeup on completion. Since the validator is only really checking/blocking for completion in one place, and it is in the background, we're not really in need of this feature though. So I'm fine with removing the condition variable here.

@HaoranYi
Copy link
Author

HaoranYi commented Nov 7, 2024

:shipit:

I think the one nice thing about the condition variable is the notify/wakeup on completion. Since the validator is only really checking/blocking for completion in one place, and it is in the background, we're not really in need of this feature though. So I'm fine with removing the condition variable here.

This code is called in replay stage

if !parent.is_startup_verification_complete() {
.

It may not make much difference. But removing the cond_var may help to save a few instructions for replaying at startup.

@HaoranYi HaoranYi merged commit 2916218 into anza-xyz:master Nov 7, 2024
40 checks passed
@HaoranYi HaoranYi deleted the remove_cond_var branch November 7, 2024 22:06
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.

4 participants