Bernhard Schuster
d631f1dea8
observability: tracing gum, automatically cross ref traceID ( #5079 )
...
* add some gum
* bump expander
* gum
* fix all remaining issues
* last fixup
* Update node/gum/proc-macro/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* change
* netowrk
* fixins
* chore
* allow optional fmt str + args, prep for expr as kv field
* tracing -> gum rename fallout
* restrict further
* allow multiple levels of field accesses
* another round of docs and a slip of the pen
* update ADR
* fixup lock fiel
* use target: instead of target=
* minors
* fix
* chore
* Update node/gum/README.md
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com >
2022-03-15 11:05:16 +00:00
Robert Habermeier
49f7e5cce4
Finish migration to v2 primitives ( #5037 )
...
* remove v0 primitives from polkadot-primitives
* first pass: remove v0
* fix fallout in erasure-coding
* remove v1 primitives, consolidate to v2
* the great import update
* update runtime_api_impl_v1 to v2 as well
* guide: add `Version` request for runtime API
* add version query to runtime API
* reintroduce OldV1SessionInfo in a limited way
2022-03-09 14:01:13 -06:00
sandreim
6e268a48f6
Add node authority status metric ( #4699 )
...
* Check authority status on active leaves update
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* cargo changes
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Fix tests
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Add metric for authority status
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Revert "Fix tests"
This reverts commit 5bd56bb367ec0b01ecca04498b3974ab67bf3189.
* Revert "cargo changes"
This reverts commit ffea18fe3ca12b27e6471ad9f44592799ec90956.
* Revert "Check authority status on active leaves update"
This reverts commit 55a30ac81bf32a72e0b79ca2e7bb612344a5c43d.
* Test fixups
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* fix
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* update
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* undo damage
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* dont update status on runtime errors
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Fix tests
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* fix inconsistency
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Review feedback
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Dont derive primitive Default
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* add dummy_session_info helper
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* unset parachain validator status if no longer authority
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* update
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* damn
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* 🤦
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
2022-01-13 17:41:10 +00:00
Bastian Köcher
620a4e45de
Substrate companion: Authority discovery multiple peer ids ( #4295 )
...
* Substrate companion: Authority discovery multiple peer ids
Authority discovery before had a fixed mapping from `PeerId` to
`AuthorityId`. This wasn't correct, as a `PeerId` can actually map to
multiple `AuthorityId`s. The linked Substrate pr fixes this.
https://github.com/paritytech/substrate/pull/10259
* Update node/network/availability-distribution/src/requester/mod.rs
* Update node/network/collator-protocol/src/validator_side/mod.rs
* Update node/network/statement-distribution/src/tests.rs
* Update guide
* Adapt to Substrate pr
* Update Substrate
2021-11-17 11:35:02 +01:00
Bernhard Schuster
3c8e8637ff
feat: measured oneshots ( #3902 )
...
* overseer: remove mut in connector
* monitored oneshots
* fmt
* remove debug log
* Update node/metered-channel/src/oneshot.rs
Co-authored-by: Andronik Ordian <write@reusable.software >
* Update node/metered-channel/src/oneshot.rs
Co-authored-by: Andronik Ordian <write@reusable.software >
* avoid two Arcs
* add expects
* alt impl
* rework the measured oneshots
* address review comments, use `Measurable` where possible
* chore/tracing: move `PrettyAuthorities` construction out of tracing macros
Co-authored-by: Andronik Ordian <write@reusable.software >
2021-09-29 16:06:20 +00:00
Robert Klotzner
7c3b3c4a59
Log info about low connectivity and unreachable validators ( #3916 )
...
* Attempt to add log stats to gossip-support.
* WIP: Keep track of connected validators.
* Clarify metric.
* WIP: Make gossip support report connectivity.
* WIP: Fixing tests.
* Fix network bridge + integrate in overseer.
* Consistent naming.
* Fix logic error
* cargo fmt
* Pretty logs.
* cargo fmt
* Use `Delay` to trigger periodic checks.
* fmt
* Fix warning for authority set size of 1.
* More correct ratio report if there are no resolved validators.
* Prettier rendering of empty set.
* Fix typo.
* Another typo.
* Don't check on every leaf update.
* Make compatible with older rustc.
* Fix tests.
* Demote warning.
2021-09-27 16:30:02 +02:00
Robert Klotzner
973183cfb1
Don't try to connect to ourselves. ( #3855 )
...
* Don't try to connecto to ourselves.
* Use swap_remove instead of remove O(1)
Co-authored-by: Andronik Ordian <write@reusable.software >
Co-authored-by: Andronik Ordian <write@reusable.software >
2021-09-16 16:05:07 +02:00
Shawn Tabrizi
ff5d56fb76
cargo +nightly fmt ( #3540 )
...
* cargo +nightly fmt
* add cargo-fmt check to ci
* update ci
* fmt
* fmt
* skip macro
* ignore bridges
2021-08-02 10:47:33 +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
Andronik Ordian
ad9c02886d
improved gossip topology ( #3270 )
...
* gossip-support: gossip topology
* some fixes
* handle view update for newly added gossip peers
* fix neighbors calculation
* fix test
* resolve TODOs
* typo
* guide updates
* spaces in the guide
* sneaky spaces
* hash randomness
* address some review nits
* use unbounded in bridge for subsystem msg
2021-06-18 14:30:35 -05:00
Robert Habermeier
963993d288
Reversion Safety tools for overseer and subsystems ( #3104 )
...
* guide: reversion safety
* guide: manage reversion safety in subsystems
* add leaf status to ActivatedLeaf
* add an LRU-cache to overseer for staleness detection
* update ActivatedLeaf usages in tests to contain status field
* add variant where missed accidentally
* add some helpers to LeafStatus
* address grumbles
2021-05-31 20:54:05 +02:00
Andronik Ordian
701be9aa03
validator_discovery: small tweak in retrying logic ( #3102 )
...
* validator_discovery: small tweak in retrying logic
* validator_discovery: use timeouts instead
2021-05-25 20:59:14 +02:00
Andronik Ordian
2e70f4ea08
validator-discovery: basic retrying logic ( #3059 )
...
* validator_discovery: less flexible, but simpler design
* fix test
* remove unused struct
* smol optimization
* validator_discovery: basic retrying logic
* add a test
* add more tests
* update the guide
* more test logic
* Require at least 2/3 connectivity.
* Fix test.
* Update node/network/gossip-support/src/lib.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* Update node/network/gossip-support/src/lib.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
Co-authored-by: Robert Klotzner <robert.klotzner@gmx.at >
Co-authored-by: Robert Klotzner <eskimor@users.noreply.github.com >
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2021-05-20 10:05:44 +00:00