Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

overseer becomes orchestra #5542

Merged
merged 16 commits into from
May 19, 2022
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 35 additions & 37 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ members = [
"node/network/gossip-support",
"node/network/dispute-distribution",
"node/overseer",
"node/overseer/overseer-gen",
"node/overseer/overseer-gen/proc-macro",
"node/overseer/orchestra",
"node/overseer/orchestra/proc-macro",
Copy link
Member

Choose a reason for hiding this comment

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

so now we have overseer and orchestra :P

Copy link
Contributor Author

@drahnr drahnr May 19, 2022

Choose a reason for hiding this comment

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

The overseer is the polkadot specific (package polkadot-overseer) where orchestra is the framework which was previously overseer-gen (and overseer-gen-proc-macro).

And a few types are leaking still, but that's a thing for another PR to add proper pub use FromOrchestra as FromOverseer; (i.e.) for consistency to create proper abstraction layers. Halfway there 💦

"node/malus",
"node/primitives",
"node/service",
Expand Down
2 changes: 1 addition & 1 deletion doc/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ impl OverseerGen for BehaveMaleficient {
where
RuntimeClient: 'static + ProvideRuntimeApi<Block> + HeaderBackend<Block> + AuxStore,
RuntimeClient::Api: ParachainHost<Block> + BabeApi<Block> + AuthorityDiscoveryApi<Block>,
Spawner: 'static + SpawnNamed + Clone + Unpin,
Spawner: 'static + overseer::gen::Spawner + Clone + Unpin,
{
let spawner = args.spawner.clone();
let leaves = args.leaves.clone();
Expand Down
14 changes: 7 additions & 7 deletions node/collation-generation/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ use parity_scale_codec::Encode;
use polkadot_node_primitives::{AvailableData, CollationGenerationConfig, PoV};
use polkadot_node_subsystem::{
messages::{CollationGenerationMessage, CollatorProtocolMessage},
overseer, ActiveLeavesUpdate, FromOverseer, OverseerSignal, SpawnedSubsystem, SubsystemContext,
SubsystemError, SubsystemResult,
overseer, ActiveLeavesUpdate, FromOrchestra, OverseerSignal, SpawnedSubsystem,
SubsystemContext, SubsystemError, SubsystemResult,
};
use polkadot_node_subsystem_util::{
request_availability_cores, request_persisted_validation_data, request_validation_code,
Expand Down Expand Up @@ -103,12 +103,12 @@ impl CollationGenerationSubsystem {
// it should hopefully therefore be ok that it's an async function mutably borrowing self.
async fn handle_incoming<Context>(
&mut self,
incoming: SubsystemResult<FromOverseer<<Context as SubsystemContext>::Message>>,
incoming: SubsystemResult<FromOrchestra<<Context as SubsystemContext>::Message>>,
ctx: &mut Context,
sender: &mpsc::Sender<overseer::CollationGenerationOutgoingMessages>,
) -> bool {
match incoming {
Ok(FromOverseer::Signal(OverseerSignal::ActiveLeaves(ActiveLeavesUpdate {
Ok(FromOrchestra::Signal(OverseerSignal::ActiveLeaves(ActiveLeavesUpdate {
activated,
..
}))) => {
Expand All @@ -130,8 +130,8 @@ impl CollationGenerationSubsystem {

false
},
Ok(FromOverseer::Signal(OverseerSignal::Conclude)) => true,
Ok(FromOverseer::Communication {
Ok(FromOrchestra::Signal(OverseerSignal::Conclude)) => true,
Ok(FromOrchestra::Communication {
msg: CollationGenerationMessage::Initialize(config),
}) => {
if self.config.is_some() {
Expand All @@ -141,7 +141,7 @@ impl CollationGenerationSubsystem {
}
false
},
Ok(FromOverseer::Signal(OverseerSignal::BlockFinalized(..))) => false,
Ok(FromOrchestra::Signal(OverseerSignal::BlockFinalized(..))) => false,
Err(err) => {
gum::error!(
target: LOG_TARGET,
Expand Down
12 changes: 6 additions & 6 deletions node/core/approval-voting/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ use polkadot_node_subsystem::{
ChainSelectionMessage, DisputeCoordinatorMessage, HighestApprovedAncestorBlock,
RuntimeApiMessage, RuntimeApiRequest,
},
overseer, FromOverseer, OverseerSignal, SpawnedSubsystem, SubsystemError, SubsystemResult,
overseer, FromOrchestra, OverseerSignal, SpawnedSubsystem, SubsystemError, SubsystemResult,
SubsystemSender,
};
use polkadot_node_subsystem_util::{
Expand Down Expand Up @@ -1093,12 +1093,12 @@ async fn handle_from_overseer<Context>(
state: &mut State,
db: &mut OverlayedBackend<'_, impl Backend>,
metrics: &Metrics,
x: FromOverseer<ApprovalVotingMessage>,
x: FromOrchestra<ApprovalVotingMessage>,
last_finalized_height: &mut Option<BlockNumber>,
wakeups: &mut Wakeups,
) -> SubsystemResult<Vec<Action>> {
let actions = match x {
FromOverseer::Signal(OverseerSignal::ActiveLeaves(update)) => {
FromOrchestra::Signal(OverseerSignal::ActiveLeaves(update)) => {
let mut actions = Vec::new();

for activated in update.activated {
Expand Down Expand Up @@ -1152,7 +1152,7 @@ async fn handle_from_overseer<Context>(

actions
},
FromOverseer::Signal(OverseerSignal::BlockFinalized(block_hash, block_number)) => {
FromOrchestra::Signal(OverseerSignal::BlockFinalized(block_hash, block_number)) => {
gum::debug!(target: LOG_TARGET, ?block_hash, ?block_number, "Block finalized");
*last_finalized_height = Some(block_number);

Expand All @@ -1163,10 +1163,10 @@ async fn handle_from_overseer<Context>(

Vec::new()
},
FromOverseer::Signal(OverseerSignal::Conclude) => {
FromOrchestra::Signal(OverseerSignal::Conclude) => {
vec![Action::Conclude]
},
FromOverseer::Communication { msg } => match msg {
FromOrchestra::Communication { msg } => match msg {
ApprovalVotingMessage::CheckAndImportAssignment(a, claimed_core, res) => {
let (check_outcome, actions) =
check_and_import_assignment(state, db, a, claimed_core)?;
Expand Down
18 changes: 9 additions & 9 deletions node/core/approval-voting/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ fn test_harness<T: Future<Output = VirtualOverseer>>(
.unwrap();
}

async fn overseer_send(overseer: &mut VirtualOverseer, msg: FromOverseer<ApprovalVotingMessage>) {
async fn overseer_send(overseer: &mut VirtualOverseer, msg: FromOrchestra<ApprovalVotingMessage>) {
gum::trace!("Sending message:\n{:?}", &msg);
overseer
.send(msg)
Expand Down Expand Up @@ -544,7 +544,7 @@ async fn overseer_recv_with_timeout(
const TIMEOUT: Duration = Duration::from_millis(2000);
async fn overseer_signal(overseer: &mut VirtualOverseer, signal: OverseerSignal) {
overseer
.send(FromOverseer::Signal(signal))
.send(FromOrchestra::Signal(signal))
.timeout(TIMEOUT)
.await
.expect(&format!("{:?} is more than enough for sending signals.", TIMEOUT));
Expand Down Expand Up @@ -586,7 +586,7 @@ async fn check_and_import_approval(
let (tx, rx) = oneshot::channel();
overseer_send(
overseer,
FromOverseer::Communication {
FromOrchestra::Communication {
msg: ApprovalVotingMessage::CheckAndImportApproval(
IndirectSignedApprovalVote { block_hash, candidate_index, validator, signature },
tx,
Expand Down Expand Up @@ -626,7 +626,7 @@ async fn check_and_import_assignment(
let (tx, rx) = oneshot::channel();
overseer_send(
overseer,
FromOverseer::Communication {
FromOrchestra::Communication {
msg: ApprovalVotingMessage::CheckAndImportAssignment(
IndirectAssignmentCert {
block_hash,
Expand Down Expand Up @@ -785,7 +785,7 @@ async fn import_block(

overseer_send(
overseer,
FromOverseer::Signal(OverseerSignal::ActiveLeaves(ActiveLeavesUpdate::start_work(
FromOrchestra::Signal(OverseerSignal::ActiveLeaves(ActiveLeavesUpdate::start_work(
ActivatedLeaf {
hash: *new_head,
number,
Expand Down Expand Up @@ -1078,7 +1078,7 @@ fn blank_subsystem_act_on_bad_block() {

overseer_send(
&mut virtual_overseer,
FromOverseer::Communication {
FromOrchestra::Communication {
msg: ApprovalVotingMessage::CheckAndImportAssignment(
IndirectAssignmentCert {
block_hash: bad_block_hash.clone(),
Expand Down Expand Up @@ -1752,7 +1752,7 @@ fn linear_import_act_on_leaf() {

overseer_send(
&mut virtual_overseer,
FromOverseer::Communication {
FromOrchestra::Communication {
msg: ApprovalVotingMessage::CheckAndImportAssignment(
IndirectAssignmentCert {
block_hash: head,
Expand Down Expand Up @@ -1822,7 +1822,7 @@ fn forkful_import_at_same_height_act_on_leaf() {

overseer_send(
&mut virtual_overseer,
FromOverseer::Communication {
FromOrchestra::Communication {
msg: ApprovalVotingMessage::CheckAndImportAssignment(
IndirectAssignmentCert {
block_hash: head,
Expand Down Expand Up @@ -2219,7 +2219,7 @@ fn approved_ancestor_test(
let (tx, rx) = oneshot::channel();
overseer_send(
&mut virtual_overseer,
FromOverseer::Communication {
FromOrchestra::Communication {
msg: ApprovalVotingMessage::ApprovedAncestor(target, 0, tx),
},
)
Expand Down
10 changes: 5 additions & 5 deletions node/core/av-store/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ use polkadot_node_primitives::{AvailableData, ErasureChunk};
use polkadot_node_subsystem::{
errors::{ChainApiError, RuntimeApiError},
messages::{AvailabilityStoreMessage, ChainApiMessage},
overseer, ActiveLeavesUpdate, FromOverseer, OverseerSignal, SpawnedSubsystem, SubsystemError,
overseer, ActiveLeavesUpdate, FromOrchestra, OverseerSignal, SpawnedSubsystem, SubsystemError,
};
use polkadot_node_subsystem_util as util;
use polkadot_primitives::v2::{
Expand Down Expand Up @@ -558,16 +558,16 @@ async fn run_iteration<Context>(
select! {
incoming = ctx.recv().fuse() => {
match incoming.map_err(|_| Error::ContextChannelClosed)? {
FromOverseer::Signal(OverseerSignal::Conclude) => return Ok(true),
FromOverseer::Signal(OverseerSignal::ActiveLeaves(
FromOrchestra::Signal(OverseerSignal::Conclude) => return Ok(true),
FromOrchestra::Signal(OverseerSignal::ActiveLeaves(
ActiveLeavesUpdate { activated, .. })
) => {
for activated in activated.into_iter() {
let _timer = subsystem.metrics.time_block_activated();
process_block_activated(ctx, subsystem, activated.hash).await?;
}
}
FromOverseer::Signal(OverseerSignal::BlockFinalized(hash, number)) => {
FromOrchestra::Signal(OverseerSignal::BlockFinalized(hash, number)) => {
let _timer = subsystem.metrics.time_process_block_finalized();

subsystem.finalized_number = Some(number);
Expand All @@ -579,7 +579,7 @@ async fn run_iteration<Context>(
number,
).await?;
}
FromOverseer::Communication { msg } => {
FromOrchestra::Communication { msg } => {
let _timer = subsystem.metrics.time_process_message();
process_message(subsystem, msg)?;
}
Expand Down
Loading