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

go/roothash: Drop support for multiple committees #3179

Merged
merged 3 commits into from
Aug 13, 2020

Conversation

kostko
Copy link
Member

@kostko kostko commented Aug 7, 2020

Since there is currently no transaction scheduler implementation which would
support multiple committees, there is no sense in having the merge node as it
could be a source of bugs.

The merge node is also the only client for the Merge* storage operations, so
they can just be removed in order to reduce the exposed API surface.

@kostko kostko added c:storage Category: storage c:breaking/consensus Category: breaking consensus changes c:worker-merge labels Aug 7, 2020
@kostko kostko force-pushed the kostko/feature/merge-remove-multicomm branch from c50b525 to d953945 Compare August 7, 2020 09:49
@kostko kostko marked this pull request as draft August 7, 2020 13:03
@kostko kostko force-pushed the kostko/feature/merge-remove-multicomm branch 5 times, most recently from cb74419 to c28c9bc Compare August 11, 2020 13:10
@kostko kostko changed the title go/worker/compute/merge: Drop support for multiple committees go/roothash: Drop support for multiple committees Aug 11, 2020
@codecov
Copy link

codecov bot commented Aug 11, 2020

Codecov Report

Merging #3179 into master will decrease coverage by 0.44%.
The diff coverage is 90.69%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3179      +/-   ##
==========================================
- Coverage   68.37%   67.92%   -0.45%     
==========================================
  Files         386      380       -6     
  Lines       37962    36558    -1404     
==========================================
- Hits        25957    24833    -1124     
+ Misses       8699     8496     -203     
+ Partials     3306     3229      -77     
Impacted Files Coverage Δ
go/common/version/version.go 84.00% <ø> (ø)
go/consensus/tendermint/apps/roothash/api.go 100.00% <ø> (ø)
...o/consensus/tendermint/apps/scheduler/scheduler.go 67.73% <ø> (-1.17%) ⬇️
go/consensus/tendermint/roothash/roothash.go 71.91% <ø> (-0.81%) ⬇️
go/oasis-node/cmd/node/node.go 56.13% <ø> (-0.39%) ⬇️
go/oasis-node/cmd/registry/runtime/runtime.go 58.13% <ø> (-1.70%) ⬇️
go/registry/api/api.go 43.11% <ø> (+0.06%) ⬆️
go/registry/api/runtime.go 54.00% <ø> (ø)
go/registry/tests/tester.go 91.88% <ø> (-0.07%) ⬇️
go/roothash/api/api.go 68.42% <ø> (-6.58%) ⬇️
... and 66 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 481bbd9...2209ffe. Read the comment docs.

@kostko kostko force-pushed the kostko/feature/merge-remove-multicomm branch from c28c9bc to 0109e60 Compare August 11, 2020 15:55
@kostko kostko marked this pull request as ready for review August 11, 2020 15:55
go/roothash/api/commitment/pool.go Outdated Show resolved Hide resolved
go/roothash/api/commitment/pool.go Outdated Show resolved Hide resolved
go/worker/storage/committee/policy.go Outdated Show resolved Hide resolved
go/roothash/api/commitment/executor.go Show resolved Hide resolved
go/roothash/api/commitment/pool.go Outdated Show resolved Hide resolved
go/worker/common/committee/group.go Show resolved Hide resolved
go/worker/compute/executor/committee/fault.go Show resolved Hide resolved
go/worker/compute/executor/committee/node.go Show resolved Hide resolved
go/worker/storage/committee/node.go Show resolved Hide resolved
go/worker/common/committee/group.go Show resolved Hide resolved
@kostko kostko force-pushed the kostko/feature/merge-remove-multicomm branch from f1a6dff to c6f88c2 Compare August 11, 2020 21:18
Since there is currently no transaction scheduler implementation which would
support multiple committees, there is no sense in the merge node to try to
support such cases as it could be a source of bugs. Additionally it results
in extra round trips to storage nodes due to the Merge operation which in
case of a single committee does not do anything.

The merge node is also the only client for the Merge* storage operations, so
they can just be removed in order to reduce the exposed API surface.
@kostko kostko force-pushed the kostko/feature/merge-remove-multicomm branch 3 times, most recently from a935be1 to fc55eb7 Compare August 12, 2020 08:12
kostko added 2 commits August 12, 2020 10:27
Since P2P message delivery is async, the roundCtx could be for the previous
round and so could get cancelled prematurely. Introduce a timeout instead.
@kostko kostko force-pushed the kostko/feature/merge-remove-multicomm branch from fc55eb7 to 2209ffe Compare August 12, 2020 08:27
Copy link
Contributor

@pro-wh pro-wh left a comment

Choose a reason for hiding this comment

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

thanks for the changes

@kostko kostko merged commit 4a42720 into master Aug 13, 2020
@kostko kostko deleted the kostko/feature/merge-remove-multicomm branch August 13, 2020 07:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c:breaking/consensus Category: breaking consensus changes c:storage Category: storage
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants