overseer becomes orchestra (#5542)

* rename overseer-gen to orchestra

Also drop `gum` and use `tracing`.

* make orchestra compile as standalone

* introduce Spawner trait to split from sp_core

Finalizes the independence of orchestra from polkadot-overseer

* slip of the pen

* other fixins

* remove unused import

* Update node/overseer/orchestra/proc-macro/src/impl_builder.rs

Co-authored-by: Vsevolod Stakhov <vsevolod.stakhov@parity.io>

* Update node/overseer/orchestra/proc-macro/src/impl_builder.rs

Co-authored-by: Vsevolod Stakhov <vsevolod.stakhov@parity.io>

* orchestra everywhere

* leaky data

* Bump scale-info from 2.1.1 to 2.1.2 (#5552)

Bumps [scale-info](https://github.com/paritytech/scale-info) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/paritytech/scale-info/releases)
- [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paritytech/scale-info/compare/v2.1.1...v2.1.2)

---
updated-dependencies:
- dependency-name: scale-info
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add missing markdown code block delimiter (#5555)

* bitfield-signing: remove util::jobs usage  (#5523)

* Switch to pooling copy-on-write instantiation strategy for WASM (companion for Substrate#11232) (#5337)

* Switch to pooling copy-on-write instantiation strategy for WASM

* Fix compilation of `polkadot-test-service`

* Update comments

* Move `max_memory_size` to `Semantics`

* Rename `WasmInstantiationStrategy` to `WasmtimeInstantiationStrategy`

* Update a safety comment

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>

* Fix build

Co-authored-by: Vsevolod Stakhov <vsevolod.stakhov@parity.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Malte Kliemann <mail@maltekliemann.com>
Co-authored-by: Chris Sosnin <48099298+slumber@users.noreply.github.com>
Co-authored-by: Koute <koute@users.noreply.github.com>
This commit is contained in:
Bernhard Schuster
2022-05-19 14:42:02 +02:00
committed by GitHub
parent d9eff4ecd4
commit 450ca2baca
117 changed files with 1174 additions and 1077 deletions
@@ -42,7 +42,7 @@ use polkadot_node_subsystem::{
CandidateBackingMessage, NetworkBridgeEvent, NetworkBridgeMessage,
StatementDistributionMessage,
},
overseer, ActiveLeavesUpdate, FromOverseer, OverseerSignal, PerLeafSpan, SpawnedSubsystem,
overseer, ActiveLeavesUpdate, FromOrchestra, OverseerSignal, PerLeafSpan, SpawnedSubsystem,
SubsystemError,
};
use polkadot_primitives::v2::{
@@ -620,7 +620,7 @@ struct FetchingInfo {
/// Messages to be handled in this subsystem.
enum MuxedMessage {
/// Messages from other subsystems.
Subsystem(FatalResult<FromOverseer<StatementDistributionMessage>>),
Subsystem(FatalResult<FromOrchestra<StatementDistributionMessage>>),
/// Messages from spawned requester background tasks.
Requester(Option<RequesterMessage>),
/// Messages from spawned responder background task.
@@ -1978,12 +1978,12 @@ impl<R: rand::Rng> StatementDistributionSubsystem<R> {
active_heads: &mut HashMap<Hash, ActiveHeadData>,
recent_outdated_heads: &mut RecentOutdatedHeads,
req_sender: &mpsc::Sender<RequesterMessage>,
message: FromOverseer<StatementDistributionMessage>,
message: FromOrchestra<StatementDistributionMessage>,
) -> Result<bool> {
let metrics = &self.metrics;
match message {
FromOverseer::Signal(OverseerSignal::ActiveLeaves(ActiveLeavesUpdate {
FromOrchestra::Signal(OverseerSignal::ActiveLeaves(ActiveLeavesUpdate {
activated,
deactivated,
})) => {
@@ -2025,11 +2025,11 @@ impl<R: rand::Rng> StatementDistributionSubsystem<R> {
));
}
},
FromOverseer::Signal(OverseerSignal::BlockFinalized(..)) => {
FromOrchestra::Signal(OverseerSignal::BlockFinalized(..)) => {
// do nothing
},
FromOverseer::Signal(OverseerSignal::Conclude) => return Ok(true),
FromOverseer::Communication { msg } => match msg {
FromOrchestra::Signal(OverseerSignal::Conclude) => return Ok(true),
FromOrchestra::Communication { msg } => match msg {
StatementDistributionMessage::Share(relay_parent, statement) => {
let _timer = metrics.time_share();
@@ -739,7 +739,7 @@ fn receiving_from_one_sends_to_another_and_to_candidate_backing() {
let test_fut = async move {
// register our active heads.
handle
.send(FromOverseer::Signal(OverseerSignal::ActiveLeaves(
.send(FromOrchestra::Signal(OverseerSignal::ActiveLeaves(
ActiveLeavesUpdate::start_work(ActivatedLeaf {
hash: hash_a,
number: 1,
@@ -773,7 +773,7 @@ fn receiving_from_one_sends_to_another_and_to_candidate_backing() {
// notify of peers and view
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(peer_a.clone(), ObservedRole::Full, 1, None),
),
@@ -781,7 +781,7 @@ fn receiving_from_one_sends_to_another_and_to_candidate_backing() {
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(peer_b.clone(), ObservedRole::Full, 1, None),
),
@@ -789,7 +789,7 @@ fn receiving_from_one_sends_to_another_and_to_candidate_backing() {
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_a.clone(), view![hash_a]),
),
@@ -797,7 +797,7 @@ fn receiving_from_one_sends_to_another_and_to_candidate_backing() {
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_b.clone(), view![hash_a]),
),
@@ -832,7 +832,7 @@ fn receiving_from_one_sends_to_another_and_to_candidate_backing() {
};
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerMessage(
peer_a.clone(),
@@ -874,7 +874,7 @@ fn receiving_from_one_sends_to_another_and_to_candidate_backing() {
assert_eq!(s, statement.into());
}
);
handle.send(FromOverseer::Signal(OverseerSignal::Conclude)).await;
handle.send(FromOrchestra::Signal(OverseerSignal::Conclude)).await;
};
futures::pin_mut!(test_fut);
@@ -932,7 +932,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
let test_fut = async move {
// register our active heads.
handle
.send(FromOverseer::Signal(OverseerSignal::ActiveLeaves(
.send(FromOrchestra::Signal(OverseerSignal::ActiveLeaves(
ActiveLeavesUpdate::start_work(ActivatedLeaf {
hash: hash_a,
number: 1,
@@ -966,7 +966,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
// notify of peers and view
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer_a.clone(),
@@ -979,7 +979,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer_b.clone(),
@@ -991,7 +991,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer_c.clone(),
@@ -1003,7 +1003,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer_bad.clone(),
@@ -1016,7 +1016,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_a.clone(), view![hash_a]),
),
@@ -1024,21 +1024,21 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_b.clone(), view![hash_a]),
),
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_c.clone(), view![hash_a]),
),
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_bad.clone(), view![hash_a]),
),
@@ -1076,7 +1076,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
let metadata = derive_metadata_assuming_seconded(hash_a, statement.clone().into());
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerMessage(
peer_a.clone(),
@@ -1114,7 +1114,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
Delay::new(Duration::from_millis(20)).await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerMessage(
peer_c.clone(),
@@ -1128,7 +1128,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
// Malicious peer:
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerMessage(
peer_bad.clone(),
@@ -1369,7 +1369,7 @@ fn receiving_large_statement_from_one_sends_to_another_and_to_candidate_backing(
Decode::decode(&mut response_rx.await.unwrap().result.unwrap().as_ref()).unwrap();
assert_eq!(committed, candidate);
handle.send(FromOverseer::Signal(OverseerSignal::Conclude)).await;
handle.send(FromOrchestra::Signal(OverseerSignal::Conclude)).await;
};
futures::pin_mut!(test_fut);
@@ -1444,7 +1444,7 @@ fn share_prioritizes_backing_group() {
let test_fut = async move {
// register our active heads.
handle
.send(FromOverseer::Signal(OverseerSignal::ActiveLeaves(
.send(FromOrchestra::Signal(OverseerSignal::ActiveLeaves(
ActiveLeavesUpdate::start_work(ActivatedLeaf {
hash: hash_a,
number: 1,
@@ -1479,7 +1479,7 @@ fn share_prioritizes_backing_group() {
// notify of dummy peers and view
for (peer, pair) in dummy_peers.clone().into_iter().zip(dummy_pairs) {
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer,
@@ -1492,7 +1492,7 @@ fn share_prioritizes_backing_group() {
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer, view![hash_a]),
),
@@ -1502,7 +1502,7 @@ fn share_prioritizes_backing_group() {
// notify of peers and view
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer_a.clone(),
@@ -1514,7 +1514,7 @@ fn share_prioritizes_backing_group() {
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer_b.clone(),
@@ -1526,7 +1526,7 @@ fn share_prioritizes_backing_group() {
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer_c.clone(),
@@ -1538,7 +1538,7 @@ fn share_prioritizes_backing_group() {
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer_bad.clone(),
@@ -1550,7 +1550,7 @@ fn share_prioritizes_backing_group() {
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer_other_group.clone(),
@@ -1563,7 +1563,7 @@ fn share_prioritizes_backing_group() {
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_a.clone(), view![hash_a]),
),
@@ -1571,28 +1571,28 @@ fn share_prioritizes_backing_group() {
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_b.clone(), view![hash_a]),
),
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_c.clone(), view![hash_a]),
),
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_bad.clone(), view![hash_a]),
),
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_other_group.clone(), view![hash_a]),
),
@@ -1630,7 +1630,7 @@ fn share_prioritizes_backing_group() {
let metadata = derive_metadata_assuming_seconded(hash_a, statement.clone().into());
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::Share(hash_a, statement.clone()),
})
.await;
@@ -1682,7 +1682,7 @@ fn share_prioritizes_backing_group() {
Decode::decode(&mut response_rx.await.unwrap().result.unwrap().as_ref()).unwrap();
assert_eq!(committed, candidate);
handle.send(FromOverseer::Signal(OverseerSignal::Conclude)).await;
handle.send(FromOrchestra::Signal(OverseerSignal::Conclude)).await;
};
futures::pin_mut!(test_fut);
@@ -1738,7 +1738,7 @@ fn peer_cant_flood_with_large_statements() {
let test_fut = async move {
// register our active heads.
handle
.send(FromOverseer::Signal(OverseerSignal::ActiveLeaves(
.send(FromOrchestra::Signal(OverseerSignal::ActiveLeaves(
ActiveLeavesUpdate::start_work(ActivatedLeaf {
hash: hash_a,
number: 1,
@@ -1772,7 +1772,7 @@ fn peer_cant_flood_with_large_statements() {
// notify of peers and view
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer_a.clone(),
@@ -1785,7 +1785,7 @@ fn peer_cant_flood_with_large_statements() {
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer_a.clone(), view![hash_a]),
),
@@ -1822,7 +1822,7 @@ fn peer_cant_flood_with_large_statements() {
for _ in 0..MAX_LARGE_STATEMENTS_PER_SENDER + 1 {
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerMessage(
peer_a.clone(),
@@ -1872,7 +1872,7 @@ fn peer_cant_flood_with_large_statements() {
assert!(requested, "large data has not been requested.");
assert!(punished, "Peer should have been punished for flooding.");
handle.send(FromOverseer::Signal(OverseerSignal::Conclude)).await;
handle.send(FromOrchestra::Signal(OverseerSignal::Conclude)).await;
};
futures::pin_mut!(test_fut);
@@ -1943,7 +1943,7 @@ fn handle_multiple_seconded_statements() {
let test_fut = async move {
// register our active heads.
handle
.send(FromOverseer::Signal(OverseerSignal::ActiveLeaves(
.send(FromOrchestra::Signal(OverseerSignal::ActiveLeaves(
ActiveLeavesUpdate::start_work(ActivatedLeaf {
hash: relay_parent_hash,
number: 1,
@@ -1978,7 +1978,7 @@ fn handle_multiple_seconded_statements() {
// notify of peers and view
for peer in all_peers.iter() {
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerConnected(
peer.clone(),
@@ -1990,7 +1990,7 @@ fn handle_multiple_seconded_statements() {
})
.await;
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerViewChange(peer.clone(), view![relay_parent_hash]),
),
@@ -2037,7 +2037,7 @@ fn handle_multiple_seconded_statements() {
};
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::NewGossipTopology(gossip_topology),
),
@@ -2073,7 +2073,7 @@ fn handle_multiple_seconded_statements() {
// `PeerA` sends a `Seconded` message
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerMessage(
peer_a.clone(),
@@ -2125,7 +2125,7 @@ fn handle_multiple_seconded_statements() {
// `PeerB` sends a `Seconded` message: valid but known
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerMessage(
peer_b.clone(),
@@ -2176,7 +2176,7 @@ fn handle_multiple_seconded_statements() {
// `PeerA` sends a `Valid` message
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerMessage(
peer_a.clone(),
@@ -2227,7 +2227,7 @@ fn handle_multiple_seconded_statements() {
// `PeerB` sends a `Valid` message
handle
.send(FromOverseer::Communication {
.send(FromOrchestra::Communication {
msg: StatementDistributionMessage::NetworkBridgeUpdate(
NetworkBridgeEvent::PeerMessage(
peer_b.clone(),
@@ -2252,7 +2252,7 @@ fn handle_multiple_seconded_statements() {
}
);
handle.send(FromOverseer::Signal(OverseerSignal::Conclude)).await;
handle.send(FromOrchestra::Signal(OverseerSignal::Conclude)).await;
};
futures::pin_mut!(test_fut);