Pierre Krieger
5060324b91
Ignore flaky test ( #6767 )
2020-07-30 14:58:30 +02:00
Pierre Krieger and Roman Borschel
1ab7719314
Add a back-pressure-friendly alternative to NetworkService::write_notifications 🎉 ( #6692 )
...
* Add NetworkService::send_notifications
* Doc
* Doc
* API adjustment
* Address concerns
* Make it compile
* Start implementation
* Progress in the implementation
* Change implementation strategy again
* More work before weekend
* Finish changes
* Minor doc fix
* Revert some minor changes
* Apply suggestions from code review
* GroupError -> NotifsHandlerError
* Apply suggestions from code review
Co-authored-by: Roman Borschel <romanb@users.noreply.github.com >
* state_transition_waker -> close_waker
* Apply suggestions from code review
Co-authored-by: Roman Borschel <romanb@users.noreply.github.com >
* Finish renames in service.rs
* More renames
* More review suggestsions applied
* More review addressing
* Final change
* 512 -> 2048
Co-authored-by: Roman Borschel <romanb@users.noreply.github.com >
2020-07-29 11:23:19 +00:00
Pierre Krieger
5af85552af
Remove Unpin requirement for Slots ( #6711 )
2020-07-27 14:31:35 +00:00
Pierre Krieger
63bd1d8346
Add the Substrate Service Tasks dashboard ( #6665 )
2020-07-27 09:34:02 +00:00
Pierre Krieger
e8ce5a2364
Remove clear_on_drop from browser util crate ( #6710 )
2020-07-22 21:59:00 +02:00
Pierre Krieger
ab82eb1c98
Add sync_legacy_requests_received metric ( #6698 )
2020-07-21 11:59:49 +00:00
Pierre Krieger
8ae4faba51
Fix compilation problems due to ed25519-dalek 1.0.0-pre.4 ( #6676 )
...
* Fix compilation problems due to ed25519-dalek 1.0.0-pre.4
* Update libp2p-core
* Revert rand downgrade
2020-07-20 09:53:39 +00:00
Pierre Krieger
84d607b5ff
Update substrate-networking Grafana dashboard ( #6649 )
2020-07-16 16:45:12 +00:00
Pierre Krieger and Max Inden
4720f0fdda
Move the legacy protocol handshake to the legacy substream ( #5938 )
...
* Move the legacy protocol handshake to the legacy substream
* Fix tests
* Remove line that wasn't supposed to be committed
* Remove hack
* Rework how it's done
* Some little changes
* update_chain wasn't doing its thing
* Fix service tests not calling update_chain
* Update client/network/src/protocol/generic_proto/behaviour.rs
Co-authored-by: Max Inden <mail@max-inden.de >
* [WIP]
* Revert "[WIP]"
This reverts commit 2b892e6a7637c0b1297e6ecdbb919321c9098ff5.
* Update client/network/src/protocol.rs
Co-authored-by: Max Inden <mail@max-inden.de >
* Fix received message not being handshake
* Update client/network/src/protocol/generic_proto/behaviour.rs
Co-authored-by: Max Inden <mail@max-inden.de >
Co-authored-by: Max Inden <mail@max-inden.de >
2020-07-15 09:29:10 +00:00
Pierre Krieger
4613dc2af4
Remove legacy Clogged event ( #6652 )
2020-07-14 15:43:08 +00:00
Pierre Krieger
4f883ee9f8
Remove warning about networking taking a lot of time ( #6630 )
...
* Remove warning about networking taking a lot of time
* Fix warnings
2020-07-10 20:39:36 +02:00
Pierre Krieger
150ef0a40a
Deduplicate some dependencies ( #6628 )
2020-07-10 09:28:10 +00:00
Pierre Krieger
ef8572f10d
Add an authority_discovery_known_authorities_count metric ( #6614 )
2020-07-09 12:32:55 +00:00
Pierre Krieger
8ca05879e8
Send Status message on all newly-opened legacy substreams ( #6593 )
...
* Send Status message on all newly-opened legacy substreams
* Fix tests
2020-07-08 11:44:51 +00:00
Pierre Krieger
36cf6e7dc4
Use async/await in build_network_future ( #6533 )
...
* Use async/await in build_network_future
* Address concerns
* Fix test
2020-07-07 10:32:30 +00:00
Pierre Krieger
505540a2a0
Increase the limit for the maximum size of the telemetry name ( #6523 )
...
* Increase the limit for the maximum size of the telemetry name
* Fix test
2020-06-26 14:48:11 +00:00
Pierre Krieger and Bastian Köcher
39c3d1c026
Fix an extra semi-colon yielding a wrong error ( #6520 )
...
* Fix an extra semi-colon yielding a wrong error
* Update client/cli/src/commands/run_cmd.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-06-26 08:05:24 +00:00
Pierre Krieger
dd7830d481
Remove --legacy-network-protocol CLI flag ( #6411 )
2020-06-19 00:23:58 +02:00
Pierre Krieger
527cc35afb
Increase network buffer sizes even more ( #6080 )
2020-06-18 11:55:45 +00:00
Pierre Krieger
fec43fe6d7
Remove penalty on duplicate Status message ( #6377 )
2020-06-18 09:34:53 +02:00
Pierre Krieger
0787b189fa
Use /dns/ instead of /dns4/ ( #6369 )
2020-06-16 22:49:44 +02:00
Pierre Krieger
62412ab03c
Add a [prefix]_process_start_time_seconds metric ( #6315 )
2020-06-10 14:03:58 +00:00
Pierre Krieger
07b984b609
Add a test for lots of nodes connecting at the same time ( #6247 )
...
* Add a test for lots of nodes connecting at the same time
* Do small change
2020-06-09 16:30:34 +02:00
Pierre Krieger
34b7cc8a7a
Sentry nodes and validator nodes also imply reserved ( #6251 )
2020-06-04 23:57:02 +02:00
Pierre Krieger
3fef099893
Fix service tests not calling update_chain ( #6232 )
2020-06-04 12:06:44 +00:00
Pierre Krieger
25fe9af5a8
Fix peerset not filtering incoming connections in reserved-only ( #6249 )
2020-06-04 11:48:15 +00:00
Pierre Krieger
e77490714d
Fix libp2p features ( #6229 )
...
* Fix libp2p features
* Remove the opt-level of some now-unused crates
2020-06-03 13:24:44 +00:00
Pierre Krieger
0c6ae6f3d4
Make dev profile faster by compiling deps with opt-level=3 ( #6228 )
...
* Make dev profile faster by compiling deps with opt-level=3
* More comment
* More comment refinment
* Remove soketto as it doesn't fit criterias
* Fix style
2020-06-03 12:45:57 +02:00
Pierre Krieger
7a969aa401
Remove ReportHandle ( #6213 )
2020-06-02 17:16:53 +02:00
Pierre Krieger
9cac359f44
Add a Substrate networking Grafana dashboard template ( #6171 )
...
* Add a substrate-networking grafana dashboard
* Capitalize data source
* Do changes
2020-06-01 10:46:34 +02:00
Pierre Krieger
a80e801e93
Pin async-std to <1.6 ( #6193 )
2020-05-30 15:19:08 +02:00
Pierre Krieger
cf185302fa
Improve the log messages printed when a listener closes ( #6162 )
...
* Improve the log messages printed when a listener closes
* Oops, didn't finish the expired listen addrs thing
2020-05-27 19:55:54 +02:00
Pierre Krieger and Bastian Köcher
e2e44f005c
Add a warning when the user passes a legacy PeerId ( #6158 )
...
* Add a warning when the user passes a legacy PeerId
* Update client/network/src/config.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-05-27 19:55:13 +02:00
4b3f134b4a
Peerset cleanup ( #6078 )
...
* Move methods from Peerset to peers structs
* Remove priority_only from peersstate
* Refactor PSM
* Don't test private fields
* Update sc_network
* Remove wrong comment
* Also fix small stupidity when setting reserved_only
* Put back priority_group
* Restore priority groups as before
* Apply suggestions from code review
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* Do the reserved only change
* Update client/peerset/src/lib.rs
Co-authored-by: Arkadiy Paronyan <arkady.paronyan@gmail.com >
* Use HashSet::difference
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
Co-authored-by: Arkadiy Paronyan <arkady.paronyan@gmail.com >
2020-05-27 15:53:07 +02:00
Pierre Krieger
bba5d7d5da
Add subkey inspect-node-key ( #6153 )
2020-05-27 13:11:09 +02:00
Pierre Krieger
9906a2e39d
Don't iterate over peers in generic_proto::behaviour::poll ( #6142 )
...
* Don't iterate over peers in generic_proto::behaviour::poll
* Improve comment
* Rework to use DelayIds
2020-05-26 21:23:32 +02:00
Pierre Krieger
d18a55d391
Bump to libp2p v0.19.1 ( #6125 )
2020-05-25 17:26:36 +02:00
Pierre Krieger
c6e23b615f
Add a note about the deprecation of register_notifications_protocol ( #6111 )
2020-05-22 12:43:55 +02:00
Pierre Krieger
c8339f9694
Turn a SmallVec into VecDeque for performances ( #6091 )
...
* Turn a SmallVec into VecDeque for performances
* Fix the other SmallVecs
2020-05-20 21:12:49 +02:00
Pierre Krieger
717fa95bc7
Restore the empty line after the license ( #6088 )
2020-05-20 13:08:27 +00:00
Pierre Krieger
8b9bd9018e
Upgrade to libp2p v0.19 - Changes the default PeerId representation ( #6064 )
...
* Upgrade to libp2p v0.19
* Listen on IPv6 by default
* Increase channels sizes
* Use spec-compliant noise protocol
* Show legacy PeerId
* Switch order of Noise protocols
* Switch to crates.io version
* Fix subkey's version
* Fix line width and Wasm build
* I think Wasm is fixed for real this time
2020-05-18 19:57:08 +02:00
Pierre Krieger
7536de97b1
Print an error if we discover our own network identity ( #6047 )
...
* Add an error if we discover our own network identity
* Fix tests
2020-05-18 18:42:44 +02:00
Pierre Krieger and Arkadiy Paronyan
6ecdf20a1f
Fix lots of small nits in sc-network ( #6028 )
...
* Fix lots of small nits in sc-network
* Update client/network/src/protocol/sync/blocks.rs
Co-authored-by: Arkadiy Paronyan <arkady.paronyan@gmail.com >
* Fix warning
* Yes. The line width.
Co-authored-by: Arkadiy Paronyan <arkady.paronyan@gmail.com >
2020-05-15 12:58:52 +01:00
Pierre Krieger
d169a48dfb
Don't log the yamux errors by default ( #6034 )
2020-05-14 18:21:07 +02:00
Pierre Krieger
074d80f519
Fix potential state mismatch in behaviour.rs ( #6013 )
...
* Fix state mismatch in behaviour.rs
* Add TODO
2020-05-13 19:50:01 +02:00
Pierre Krieger
10492c0689
Add mitigation for the state inconsistency issue ( #5996 )
...
* Add mitigation for the state inconsistency issue
* Add logging
2020-05-13 14:54:59 +02:00
Pierre Krieger
0a11c48aa1
Turn an error! into a debug! ( #6000 )
2020-05-12 19:22:41 +02:00
Pierre Krieger
9220bdf361
Spawn the network worker with spawn_blocking ( #5909 )
...
* Spawn the network worker with spawn_blocking
* Some comment adjustments
* Fix shutdown not working
2020-05-12 17:12:32 +02:00
Pierre Krieger
b4b1293c78
Restore the reputation penalty for timeouts ( #5984 )
2020-05-12 17:08:05 +02:00
Pierre Krieger
0690bb51a8
Allow passing multiple --log CLI options ( #5982 )
...
* Allow passing multiple --log CLI options
* Comment typo
2020-05-12 11:46:06 +02:00
Pierre Krieger
e5a36c8fa9
Small fix to block response completion reporting ( #5967 )
...
* Small fix to block response completion reporting
* while -> if
2020-05-11 17:39:39 +02:00
Pierre Krieger
ed6c5bb190
Properly log when we discard a sync response ( #5969 )
2020-05-11 14:31:56 +02:00
Pierre Krieger
a8fac92396
Disconnect node after sync request cancelled ( #5945 )
2020-05-07 15:07:52 +02:00
Pierre Krieger
ddf6f8a1e1
Fix wrong task name ( #5917 )
2020-05-06 15:27:18 +02:00
Pierre Krieger
ccc3f9767c
Report tasks panics in metrics ( #5878 )
...
* Report tasks panics in metrics
* Renames
* Renames
2020-05-04 13:43:54 +02:00
Pierre Krieger
2d9e6dc18e
Include the network overhead in the request-in-time metric ( #5854 )
2020-04-30 17:38:28 +00:00
Pierre Krieger
929bd07bef
Move around stuff in sc_network ( #5847 )
2020-04-30 13:08:38 +00:00
1be634da85
Add metrics about block requests ( #5811 )
...
* Add metrics about block requests
* Apply suggestions from code review
Co-Authored-By: Max Inden <mail@max-inden.de >
Co-authored-by: Gavin Wood <i@gavwood.com >
Co-authored-by: Max Inden <mail@max-inden.de >
2020-04-28 17:47:40 +02:00
Pierre Krieger
636ddd95d2
Extra timeout handling in block_requests ( #5794 )
2020-04-27 12:17:26 +02:00
Pierre Krieger
f66168505b
Fix the cfg guards in service/metrics.rs ( #5770 )
2020-04-24 16:16:54 +02:00
Pierre Krieger
6a7e86e677
Use new block requests protocol ( #5760 )
...
* Use new block requests protocol
* Tweak comment
2020-04-24 13:48:22 +02:00
Pierre Krieger
c424ce94a3
Enable yamux flow control by default ( #5734 )
...
* Enable yamux flow control by default
* Tweak description
* Apply suggestions from code review
2020-04-22 14:31:05 +02:00
Pierre Krieger
a7f578d63a
Add a protocol that answers finality proofs ( #5718 )
...
* Add a protocol that answers finality proofs
* Fix documentation
* Use Toggle
2020-04-22 10:58:26 +02:00
Pierre Krieger
3ad9f65f11
Send a status message on block announce handshake ( #5726 )
...
* Send a status message on block announce handshake
* Make sure to send the handshake to all handlers
2020-04-22 10:20:52 +02:00
Pierre Krieger
25c3ab2c1e
Fix warning reported in out_events when Registry is None ( #5716 )
2020-04-22 00:36:12 +02:00
Pierre Krieger
f2578bdc3b
Pass an encoded Roles as the notifications protocols handshakes ( #5665 )
2020-04-21 10:47:37 +02:00
Pierre Krieger
ca1c60c2cf
Move around definitions in sc_network ( #5701 )
2020-04-20 14:35:17 +02:00
Pierre Krieger
cff487dd22
Refactor misleading log in discovery ( #5679 )
...
* Refactor misleading log
* Forgot to git add the compilation fix
2020-04-18 14:04:23 +02:00
Pierre Krieger
bc6ebabf23
Force libp2p 0.18.1 ( #5689 )
2020-04-17 23:00:44 +02:00
Pierre Krieger
f544907bd2
Revert listening on IPv6 by default ( #5687 )
2020-04-17 20:34:23 +02:00
Pierre Krieger
0fd5643e84
Adjustments to Kademlia-related metrics ( #5660 )
...
* Turn kbuckets_num_nodes into a GaugeVec
* random_kademlia_queries -> kademlia_random_queries
* kademalia_random_queries_total now a CounterVec
* Add metrics about records store
2020-04-17 09:11:47 +02:00
Pierre Krieger and Tomasz Drwięga
95ee37d242
Add alternative RPC methods to system_networkState ( #5643 )
...
* Add alternatives to system_networkState
* Fix tests
* Apply suggestions from code review
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2020-04-16 16:36:14 +01:00
Pierre Krieger
239d0998ea
Several tweaks to networking Prometheus metrics ( #5636 )
2020-04-16 15:18:35 +02:00
Pierre Krieger
efde6056f6
Temporarily increase notifications buffer size ( #5644 )
...
* Temporarily increase notifications buffer size
* Add a 511.0 bucket
2020-04-15 23:27:33 +02:00
Pierre Krieger
1c7a3fe7d5
Remove the tokio thread name ( #5650 )
2020-04-15 21:49:53 +02:00
Pierre Krieger and Bastian Köcher
cff1390456
Report tasks metrics to Prometheus ( #5619 )
...
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
2020-04-15 11:10:03 +02:00
Pierre Krieger
1e1b0e2767
Give names to channels ( #5626 )
...
* Give names to channels
* Fix
* A couple more changes
* More minor tweaks
* Fix test
2020-04-14 14:49:41 +02:00
Pierre Krieger
1e1b066817
Remove HashMap<EngineId, ...> from consensus-gossip ( #5553 )
2020-04-13 09:27:51 +02:00
Pierre Krieger and Max Inden
877a7ab531
Add metrics for the events in the network output channels ( #5597 )
...
* Add metrics for the events in the network output channels
* Documentation fixes
* A couple fixes
* Fix panic at destruction
* Rework for direct Prometheus integration
* Don't lock on the Receiver
* Another review address
* Address review
* Update client/network/src/service/out_events.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
* Fix bad event name
* Fix descriptions
* Fix names
* client/network/service/out_events: Apply remaining suggestions
Co-authored-by: Max Inden <mail@max-inden.de >
2020-04-09 20:30:34 +02:00
Pierre Krieger
ac9a852028
Update to libp2p 0.18 ( #5602 )
...
* Update to libp2p 0.18
* Update Cargo.lock
* Also bump in browser-utils
2020-04-09 18:41:21 +02:00
Pierre Krieger
cebd073649
Report local force-closing connections to Prometheus ( #5575 )
...
* Report local force-closing connections to Prometheus
* Also report ping timeouts separately
* Address concerns of #5571
2020-04-09 11:24:01 +02:00
Pierre Krieger and Toralf Wittner
0cc2e4df89
Fix #5516 ( #5560 )
...
* Add a failing test
* Make test not freeze
* Fix the bug
* Fix spaces
* Fix tests
* Apply suggestions from code review
Co-Authored-By: Toralf Wittner <tw@dtex.org >
* Make sure test doesn't succeed if nothing happened
* Fix build
* Do the events change
Co-authored-by: Toralf Wittner <tw@dtex.org >
2020-04-08 13:32:22 +02:00
571f1daa49
Add more Prometheus metrics ( #5571 )
...
* Add more Prometheus metrics
* Update client/network/src/service.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
* Update client/network/src/service.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
Co-authored-by: Gavin Wood <gavin@parity.io >
Co-authored-by: Max Inden <mail@max-inden.de >
2020-04-08 11:14:35 +02:00
Pierre Krieger
dba0fcbaea
Prometheus Metrics: Turn notifications_total counter into notifications_sizes histogram ( #5535 )
...
* Turn notifications_total into notifications_sizes
* Address review
2020-04-06 18:36:46 +02:00
Pierre Krieger and André Silva
8c03a4fcef
Split the Roles in three types ( #5520 )
...
* Split the Roles bitfield in three
* Forgot to include some changes
* Fix cli test
* More test fixes
* Oh God, merging master broke other tests
* Didn't run the doctests
* Address review
* I'm trying to fix the build blindly because it's taking a good hour to compile on my machine
* Address some review
* Also update the peerset's API to make sense
* Fix peerset tests
* Fix browser node
* client: distinguish between local and network authority
Co-authored-by: André Silva <andre.beat@gmail.com >
2020-04-03 19:08:14 +02:00
Pierre Krieger
c9f3d16f44
Improve warning about notifications queue and remove spurious triggers ( #5512 )
...
* Better logging for notifications and buffer size increase
* Address review
* Improve warning about notifications queue and remove spurious triggers
2020-04-03 14:14:55 +02:00
Pierre Krieger
e8dfb37aaf
Add a sub_libp2p_notifications_queues_size Prometheus metric ( #5503 )
...
* Add a sub_libp2p_notifications_queues_size Prometheus metric
* Fix network tests
* Address review
2020-04-03 08:43:55 +02:00
Pierre Krieger
a8aedfa16f
Switch to new light client protocol ( #5472 )
...
* Switch to the new protocol
* Oops, forgot to remove light_dispatch.rs
* Fix tests
* Address review
2020-04-01 19:44:42 +02:00
Pierre Krieger
84ff6ef157
Remove DiscoveryNetBehaviour trait ( #5430 )
2020-04-01 16:25:53 +01:00
Pierre Krieger
f04486e5bc
Increase limit on light client response size ( #5461 )
...
* Increase limit on light client response size
* Address review
2020-03-31 20:16:56 +02:00
Pierre Krieger
dbba4f8929
Fix tried to send handshake twice ( #5413 )
...
* Fix tried to send handshake twice
* Fix wrong boolean
* Change to debug
2020-03-30 13:33:46 +02:00
Pierre Krieger
462eaa3f41
Make transactions and block announces use notifications substre… ( #5360 )
...
* Make transactions and block announces use notifications
* Add documentation
2020-03-30 10:00:34 +02:00
Pierre Krieger and Max Inden
fdbbf14fa4
Improve sc-network's documentation for network protocols ( #5364 )
...
* Improve sc-network's documentation for network protocols
* Add note about protocol id
* Apply suggestions from code review
Co-Authored-By: Max Inden <mail@max-inden.de >
Co-authored-by: Max Inden <mail@max-inden.de >
2020-03-26 12:26:30 +01:00
Pierre Krieger
1da48b3b3f
Rewrite reconnect_after_disconnect test ( #5351 )
2020-03-23 11:50:11 +01:00
Pierre Krieger
57af4facbd
Remove the #[doc(hidden)] reexports of sc_network ( #5264 )
...
* Remove the #[doc(hidden)] reexports of sc_network
* Fix tests not building
2020-03-20 16:42:00 +01:00
Pierre Krieger
f21680209f
Minor fixes for Android compilation ( #5209 )
...
* Minor fixes for Android
* Update parity-multiaddr
* Bump in service Cargo.toml too
2020-03-10 20:54:58 +01:00
Pierre Krieger and Bastian Köcher
9c6d53f436
Fix NotificationStreamClosed reported when it shouldn't ( #5160 )
...
* Fix NotificationStreamClosed reported when it shouldn't
* Fix test
* Add test
* Update client/network/src/protocol.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Oops, fix test
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-03-06 21:24:51 +01:00
Pierre Krieger
9ab9134ea5
Remove request ID from the new protocol ( #5049 )
2020-03-02 13:43:29 +01:00
Pierre Krieger
b19ea34773
Update to libp2p 0.16.2 ( #5088 )
2020-03-02 11:00:56 +01:00
Pierre Krieger
85959819dc
Make these chainspecs fields private ( #5031 )
2020-02-26 12:11:32 +01:00