Lldenaurois
2d66b8f256
Dispute Coordinator: Batch queries ( #3459 )
...
* disputes: Allow batch queries in dispute-coordinator
This commit moves to batch queries when responding to QueryCandidateVotes
messages. This simplifies the code in the provisioner and dispute-coordinator
by no longer requiring to make use of a FuturesOrdered when awaiting multiple
quries. Instead, the provisioner need only request the batch itself.
* node/approval-voting: Address Feedback to fail on query element missing.
* Address feedback
* Fix implementer's guide
2021-07-12 20:06:14 -05:00
Robert Habermeier
e512222749
Wire up candidate backing, approval-voting to disputes ( #3348 )
...
* add a from_backing_statement to SignedDisputeStatement
* inform dispute coordinator of all backing statements
* add dispute coordinator message to backing tests
* send positive dispute statement with every approval
* issue disputes when encountering invalid candidates.
* try to fix flaky test for CI (passed locally)
* guide: keep track of concluded-positive disputes until pruned
* guide: block implications
* guide: new dispute inherent flow
* mostly implement recency changes for dispute coordinator
* add a clock to dispute coordinator
* adjust DB tests
* fix and add new dispute coordinator tests
* provisioner: select disputes
* import all validators' approvals
* address nit: refactor backing statement submission
* gracefully handle disconnected dispute coordinator
* remove `review` comment
* fix up old_tests
* fix approval-voting compilation
* fix backing compilation
* use known-leaves in WaitForActivation
* follow-up test fixing
* add back allow(dead_code)
2021-07-09 21:15:51 +00:00
Robert Klotzner
b5257b2407
Dispute distribution implementation ( #3282 )
...
* Dispute protocol.
* Dispute distribution protocol.
* Get network requests routed.
* WIP: Basic dispute sender logic.
* Basic validator determination logic.
* WIP: Getting things to typecheck.
* Slightly larger timeout.
* More typechecking stuff.
* Cleanup.
* Finished most of the sending logic.
* Handle active leaves updates
- Cleanup dead disputes
- Update sends for new sessions
- Retry on errors
* Pass sessions in already.
* Startup dispute sending.
* Provide incoming decoding facilities
and use them in statement-distribution.
* Relaxed runtime util requirements.
We only need a `SubsystemSender` not a full `SubsystemContext`.
* Better usability of incoming requests.
Make it possible to consume stuff without clones.
* Add basic receiver functionality.
* Cleanup + fixes for sender.
* One more sender fix.
* Start receiver.
* Make sure to send responses back.
* WIP: Exposed authority discovery
* Make tests pass.
* Fully featured receiver.
* Decrease cost of `NotAValidator`.
* Make `RuntimeInfo` LRU cache size configurable.
* Cache more sessions.
* Fix collator protocol.
* Disable metrics for now.
* Make dispute-distribution a proper subsystem.
* Fix naming.
* Code style fixes.
* Factored out 4x copied mock function.
* WIP: Tests.
* Whitespace cleanup.
* Accessor functions.
* More testing.
* More Debug instances.
* Fix busy loop.
* Working tests.
* More tests.
* Cleanup.
* Fix build.
* Basic receiving test.
* Non validator message gets dropped.
* More receiving tests.
* Test nested and subsequent imports.
* Fix spaces.
* Better formatted imports.
* Import cleanup.
* Metrics.
* Message -> MuxedMessage
* Message -> MuxedMessage
* More review remarks.
* Add missing metrics.rs.
* Fix flaky test.
* Dispute coordinator - deliver confirmations.
* Send out `DisputeMessage` on issue local statement.
* Unwire dispute distribution.
* Review remarks.
* Review remarks.
* Better docs.
2021-07-09 04:29:53 +02:00
Bernhard Schuster
3c9104daff
refactor overseer into proc-macro based pattern ( #2962 )
2021-07-08 21:09:26 +02:00