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

Make leaders restartable #310

Closed
garious opened this issue Jun 4, 2018 · 8 comments
Closed

Make leaders restartable #310

garious opened this issue Jun 4, 2018 · 8 comments

Comments

@garious
Copy link
Contributor

garious commented Jun 4, 2018

Postpone writing any entries to the log file until the election completes. Instead only broadcast them to validators. If the election decides the block is invalid, the leader has the option to simply restart.

@garious garious self-assigned this Jun 4, 2018
@garious garious added this to the v0.7.0 milestone Jun 4, 2018
@garious garious removed their assignment Jun 5, 2018
@aeyakovenko
Copy link
Member

I think we should move elections into 0.8.0, focus on validators restarting. just have one public hard coded leader.

@rob-solana
Copy link
Contributor

by "election", do we mean "finality", or leader transfer?

@aeyakovenko
Copy link
Member

aeyakovenko commented Sep 6, 2018

leader ranking. pick a seed to rank them. we can "secure" the seed with a vdf later

@rob-solana
Copy link
Contributor

it seems to me that leader ranking goes on all the time, and that it'd be safe to persist anything that's pre-most recent finality... @carllin and I discussed this yesterday, weren't sure how to proceed. I think restart is a bad option, given how long that takes.

@aeyakovenko
Copy link
Member

aeyakovenko commented Sep 6, 2018 via email

@garious
Copy link
Contributor Author

garious commented Sep 6, 2018

Interesting point Rob. So maybe this ticket should be very different. Something like: leader should periodically cache its list of live validators such that if it crashes, it can restart and query one of those validators for the new leader. The request should include the old leader's Pubkey to let the validator know it can no longer serve as leader (in case, the network hadn't figured that out yet).

@garious garious modified the milestones: v0.8 Windansea, The Future! Sep 8, 2018
@garious
Copy link
Contributor Author

garious commented Sep 8, 2018

This ticket is unassigned a week before 0.8 release, and implementation strategy is not clear. Removing the milestone target for now.

@rob-solana
Copy link
Contributor

rob-solana commented Jan 7, 2019

this is obsolete since the forking ledger (db_ledger), which allows any number of forks to co-exist in the ledger, and allows fork-selection to be performed from a persistent store

also: leader selection is deterministic on bank state (stakes)

@garious garious removed this from the The Future! milestone Jan 8, 2019
vkomenda pushed a commit to vkomenda/solana that referenced this issue Aug 29, 2021
apfitzge referenced this issue in apfitzge/agave Mar 21, 2024
…ench-tps`, `dos/`, `LocalCluster`, `gossip/` (anza-xyz#310)

* switch over to solana-tpu-client for bench-tps, dos, gossip, local-cluster

* put TpuClientWrapper back in solana_client
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

No branches or pull requests

3 participants