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

Shorten transaction scheduler leader #1654

Closed
pro-wh opened this issue Apr 26, 2019 · 6 comments · Fixed by #3184
Closed

Shorten transaction scheduler leader #1654

pro-wh opened this issue Apr 26, 2019 · 6 comments · Fixed by #3184
Assignees
Labels
c:client Category: client interface c:registry Category: entity/node/runtime registry service

Comments

@pro-wh
Copy link
Contributor

pro-wh commented Apr 26, 2019

From #1640, the transaction scheduler committee has a single leader for an entire general purpose epoch. We need it to rotate on a shorter interval.

Details

Two current proposals:

  1. Change leader among the committee on a new "sub-epoch" system
  2. Let different kinds of committees have different epoch times, with the transaction scheduler committee having a shorter epoch time (related to storage committees too Storage nodes should register with the registry #1585 )

Clients will have to be aware of this too.

blocks #1577

Acceptance Criteria

  • we can shorten how long a node will be transaction scheduler leader without shortening the compute committee lifetime
@pro-wh pro-wh added c:client Category: client interface c:registry Category: entity/node/runtime registry service labels Apr 26, 2019
@Yawning
Copy link
Contributor

Yawning commented Apr 29, 2019

I suspect we will need both eventually, but the alterations for #2 are likely to be easier.

@ptrus
Copy link
Member

ptrus commented May 2, 2019

do we want to do this before / after (or together with) #642 (i assume this is the planned rewrite)? I guess it's independent if we plan to keep the trivial scheduler? (not sure if this is true)

@pro-wh
Copy link
Contributor Author

pro-wh commented May 3, 2019

Shouldn't #642 be done already? We already have a tendermint backed committee scheduler. As for @kostko 's comment on #642, @ptrus you've already implemented that in the node role system.

@kostko
Copy link
Member

kostko commented May 3, 2019

We do not have a Tendermint backed committee scheduler, there is only the trivial implementation which is not on chain at all (e.g., it is not implemented as part of our ABCI app).

@pro-wh
Copy link
Contributor Author

pro-wh commented May 3, 2019

but it is entirely computed from on-chain information and driven by chain progression

@pro-wh
Copy link
Contributor Author

pro-wh commented May 3, 2019

Decoupling the intervals of different systems' committees would help us test committee change logic independently

cc #1669 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c:client Category: client interface c:registry Category: entity/node/runtime registry service
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants