Skip to content

Commit

Permalink
Merge pull request #2865 from subspace/node-client-optimization
Browse files Browse the repository at this point in the history
Node client optimization
  • Loading branch information
nazar-pc authored Jun 20, 2024
2 parents 276e2f7 + 02db0bc commit 5aa4d67
Show file tree
Hide file tree
Showing 10 changed files with 370 additions and 325 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/rustsec-audit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,6 @@ jobs:
- uses: rustsec/audit-check@dd51754d4e59da7395a4cd9b593f0ff2d61a9b95 #v1.4.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# TODO: Remove once Substrate upgrades libp2p and we no longer have rustls 0.20.9 in our dependencies
ignore: RUSTSEC-2024-0336
# TODO: Remove once Substrate upgrades libp2p and we no longer have rustls 0.20.9 and curve25519-dalek 3.2.0
# in our dependencies: https://github.com/paritytech/polkadot-sdk/pull/1631
ignore: RUSTSEC-2024-0336,RUSTSEC-2024-0344
46 changes: 20 additions & 26 deletions Cargo.lock

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

1 change: 1 addition & 0 deletions crates/subspace-farmer/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ tempfile = "3.10.1"
thiserror = "1.0.59"
thread-priority = "1.1.0"
tokio = { version = "1.38.0", features = ["macros", "parking_lot", "rt-multi-thread", "signal", "time"] }
tokio-stream = { version = "0.1.15", features = ["sync"] }
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
ulid = { version = "1.1.2", features = ["serde"] }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ use subspace_farmer::farm::plotted_pieces::PlottedPieces;
use subspace_farmer::farmer_cache::FarmerCache;
use subspace_farmer::farmer_piece_getter::piece_validator::SegmentCommitmentPieceValidator;
use subspace_farmer::farmer_piece_getter::{DsnCacheRetryPolicy, FarmerPieceGetter};
use subspace_farmer::node_client::caching_proxy_node_client::CachingProxyNodeClient;
use subspace_farmer::node_client::rpc_node_client::RpcNodeClient;
use subspace_farmer::node_client::NodeClient;
use subspace_farmer::single_disk_farm::identity::Identity;
Expand Down Expand Up @@ -159,6 +160,10 @@ pub(super) async fn controller(
.map_err(|error| anyhow!("Failed to configure networking: {error}"))?
};

let node_client = CachingProxyNodeClient::new(node_client)
.await
.map_err(|error| anyhow!("Failed to create caching proxy node client: {error}"))?;

let kzg = Kzg::new(embedded_kzg_settings());
let validator = Some(SegmentCommitmentPieceValidator::new(
node.clone(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ use subspace_farmer::cluster::plotter::ClusterPlotter;
use subspace_farmer::farm::{
Farm, FarmingNotification, SectorExpirationDetails, SectorPlottingDetails, SectorUpdate,
};
use subspace_farmer::node_client::caching_proxy_node_client::CachingProxyNodeClient;
use subspace_farmer::node_client::NodeClient;
use subspace_farmer::single_disk_farm::{
SingleDiskFarm, SingleDiskFarmError, SingleDiskFarmOptions,
Expand Down Expand Up @@ -171,9 +172,13 @@ where
None
};

let node_client = ClusterNodeClient::new(nats_client.clone())
.await
.map_err(|error| anyhow!("Failed to create cluster node client: {error}"))?;
let node_client = CachingProxyNodeClient::new(
ClusterNodeClient::new(nats_client.clone())
.await
.map_err(|error| anyhow!("Failed to create cluster node client: {error}"))?,
)
.await
.map_err(|error| anyhow!("Failed to create caching proxy node client: {error}"))?;

let farmer_app_info = node_client
.farmer_app_info()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ use subspace_farmer::farm::{
use subspace_farmer::farmer_cache::FarmerCache;
use subspace_farmer::farmer_piece_getter::piece_validator::SegmentCommitmentPieceValidator;
use subspace_farmer::farmer_piece_getter::{DsnCacheRetryPolicy, FarmerPieceGetter};
use subspace_farmer::node_client::caching_proxy_node_client::CachingProxyNodeClient;
use subspace_farmer::node_client::rpc_node_client::RpcNodeClient;
use subspace_farmer::node_client::NodeClient;
use subspace_farmer::plotter::cpu::CpuPlotter;
Expand Down Expand Up @@ -368,6 +369,10 @@ where
.map_err(|error| anyhow!("Failed to configure networking: {error}"))?
};

let node_client = CachingProxyNodeClient::new(node_client)
.await
.map_err(|error| anyhow!("Failed to create caching proxy node client: {error}"))?;

let _prometheus_worker = if should_start_prometheus_server {
let prometheus_task = start_prometheus_metrics_server(
prometheus_listen_on,
Expand Down
Loading

0 comments on commit 5aa4d67

Please sign in to comment.