From 09fd62cfdfe0406f42ad601c974e1cb0f73681f9 Mon Sep 17 00:00:00 2001 From: longbowlu Date: Sun, 11 Sep 2022 18:04:20 -0700 Subject: [PATCH] move quorum driver from its own crate to sui-core --- Cargo.lock | 18 ------------------ Cargo.toml | 1 - crates/sui-benchmark/Cargo.toml | 1 - .../sui-benchmark/src/drivers/bench_driver.rs | 3 +-- crates/sui-benchmark/src/workloads/workload.rs | 3 +-- crates/sui-core/src/lib.rs | 1 + .../src/quorum_driver}/metrics.rs | 0 .../src/quorum_driver/mod.rs} | 9 +++++---- crates/sui-json-rpc/Cargo.toml | 1 - crates/sui-json-rpc/src/quorum_driver_api.rs | 2 +- crates/sui-node/Cargo.toml | 1 - crates/sui-node/src/lib.rs | 3 +-- crates/sui-quorum-driver/Cargo.toml | 18 ------------------ crates/sui/Cargo.toml | 1 - crates/sui/tests/quorum_driver_tests.rs | 2 +- 15 files changed, 11 insertions(+), 53 deletions(-) rename crates/{sui-quorum-driver/src => sui-core/src/quorum_driver}/metrics.rs (100%) rename crates/{sui-quorum-driver/src/lib.rs => sui-core/src/quorum_driver/mod.rs} (98%) delete mode 100644 crates/sui-quorum-driver/Cargo.toml diff --git a/Cargo.lock b/Cargo.lock index 7b62adc38a0bb..b86251d97366b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7248,7 +7248,6 @@ dependencies = [ "sui-json-rpc-types", "sui-macros", "sui-node", - "sui-quorum-driver", "sui-sdk", "sui-simulator", "sui-swarm", @@ -7322,7 +7321,6 @@ dependencies = [ "sui-core", "sui-json-rpc-types", "sui-node", - "sui-quorum-driver", "sui-sdk", "sui-types", "telemetry-subscribers", @@ -7644,7 +7642,6 @@ dependencies = [ "sui-json-rpc-types", "sui-open-rpc", "sui-open-rpc-macros", - "sui-quorum-driver", "sui-types", "tokio", "tracing", @@ -7717,7 +7714,6 @@ dependencies = [ "sui-core", "sui-json-rpc", "sui-network", - "sui-quorum-driver", "sui-storage", "sui-telemetry", "sui-types", @@ -7766,20 +7762,6 @@ dependencies = [ "workspace-hack 0.1.0", ] -[[package]] -name = "sui-quorum-driver" -version = "0.1.0" -dependencies = [ - "arc-swap", - "prometheus", - "scopeguard", - "sui-core", - "sui-types", - "tokio", - "tracing", - "workspace-hack 0.1.0", -] - [[package]] name = "sui-sdk" version = "0.0.0" diff --git a/Cargo.toml b/Cargo.toml index 75139b6d7cf1f..f30429147e82c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,6 @@ members = [ "crates/sui-node", "crates/sui-open-rpc", "crates/sui-open-rpc-macros", - "crates/sui-quorum-driver", "crates/sui-sdk", "crates/sui-simulator", "crates/sui-storage", diff --git a/crates/sui-benchmark/Cargo.toml b/crates/sui-benchmark/Cargo.toml index b70f488b28c8a..fa46a02064af7 100644 --- a/crates/sui-benchmark/Cargo.toml +++ b/crates/sui-benchmark/Cargo.toml @@ -36,7 +36,6 @@ sui-core = { path = "../sui-core" } sui-config = { path = "../sui-config" } sui-types = { path = "../sui-types" } sui-sdk = { path = "../sui-sdk" } -sui-quorum-driver = { path = "../sui-quorum-driver" } sui-node = { path = "../sui-node" } sui-json-rpc-types = { path = "../sui-json-rpc-types" } diff --git a/crates/sui-benchmark/src/drivers/bench_driver.rs b/crates/sui-benchmark/src/drivers/bench_driver.rs index 31348f6a550db..59f05719f0fdf 100644 --- a/crates/sui-benchmark/src/drivers/bench_driver.rs +++ b/crates/sui-benchmark/src/drivers/bench_driver.rs @@ -24,8 +24,7 @@ use std::collections::{BTreeMap, VecDeque}; use std::sync::Arc; use std::time::Duration; use sui_core::authority_client::NetworkAuthorityClient; -use sui_quorum_driver::QuorumDriverHandler; -use sui_quorum_driver::QuorumDriverMetrics; +use sui_core::quorum_driver::{QuorumDriverHandler, QuorumDriverMetrics}; use sui_types::crypto::EmptySignInfo; use sui_types::messages::{ ExecuteTransactionRequest, ExecuteTransactionRequestType, ExecuteTransactionResponse, diff --git a/crates/sui-benchmark/src/workloads/workload.rs b/crates/sui-benchmark/src/workloads/workload.rs index a307df9dd061b..8c45602e21004 100644 --- a/crates/sui-benchmark/src/workloads/workload.rs +++ b/crates/sui-benchmark/src/workloads/workload.rs @@ -3,10 +3,10 @@ use async_trait::async_trait; use std::{collections::HashMap, fmt}; +use sui_core::quorum_driver::{QuorumDriverHandler, QuorumDriverMetrics}; use sui_core::{ authority_aggregator::AuthorityAggregator, authority_client::NetworkAuthorityClient, }; -use sui_quorum_driver::QuorumDriverMetrics; use sui_types::{ base_types::{ObjectID, ObjectRef}, crypto::EmptySignInfo, @@ -15,7 +15,6 @@ use sui_types::{ }; use futures::FutureExt; -use sui_quorum_driver::QuorumDriverHandler; use sui_types::{ base_types::SuiAddress, crypto::AccountKeyPair, diff --git a/crates/sui-core/src/lib.rs b/crates/sui-core/src/lib.rs index cf2baf24d386e..4ffdf98d3670d 100644 --- a/crates/sui-core/src/lib.rs +++ b/crates/sui-core/src/lib.rs @@ -14,6 +14,7 @@ pub mod event_handler; pub mod execution_engine; pub mod gateway_state; pub mod metrics; +pub mod quorum_driver; pub mod safe_client; pub mod streamer; pub mod transaction_input_checker; diff --git a/crates/sui-quorum-driver/src/metrics.rs b/crates/sui-core/src/quorum_driver/metrics.rs similarity index 100% rename from crates/sui-quorum-driver/src/metrics.rs rename to crates/sui-core/src/quorum_driver/metrics.rs diff --git a/crates/sui-quorum-driver/src/lib.rs b/crates/sui-core/src/quorum_driver/mod.rs similarity index 98% rename from crates/sui-quorum-driver/src/lib.rs rename to crates/sui-core/src/quorum_driver/mod.rs index 0acd99f9e7c1b..7a9868546dfe2 100644 --- a/crates/sui-quorum-driver/src/lib.rs +++ b/crates/sui-core/src/quorum_driver/mod.rs @@ -1,6 +1,9 @@ // Copyright (c) 2022, Mysten Labs, Inc. // SPDX-License-Identifier: Apache-2.0 +mod metrics; +pub use metrics::*; + use arc_swap::ArcSwap; use std::sync::Arc; @@ -9,9 +12,8 @@ use tokio::task::JoinHandle; use tracing::Instrument; use tracing::{debug, error, warn}; -pub use metrics::QuorumDriverMetrics; -use sui_core::authority_aggregator::AuthorityAggregator; -use sui_core::authority_client::AuthorityAPI; +use crate::authority_aggregator::AuthorityAggregator; +use crate::authority_client::AuthorityAPI; use sui_types::error::{SuiError, SuiResult}; use sui_types::messages::{ CertifiedTransaction, CertifiedTransactionEffects, ExecuteTransactionRequest, @@ -22,7 +24,6 @@ pub enum QuorumTask { ProcessCertificate(CertifiedTransaction), UpdateCommittee(AuthorityAggregator), } -pub mod metrics; /// A handler to wrap around QuorumDriver. This handler should be owned by the node with exclusive /// mutability. diff --git a/crates/sui-json-rpc/Cargo.toml b/crates/sui-json-rpc/Cargo.toml index a3e9091b180c5..b218560ff9524 100644 --- a/crates/sui-json-rpc/Cargo.toml +++ b/crates/sui-json-rpc/Cargo.toml @@ -26,7 +26,6 @@ sui-core = { path = "../sui-core" } sui-types = { path = "../sui-types" } sui-json = { path = "../sui-json" } sui-open-rpc = { path = "../sui-open-rpc" } -sui-quorum-driver = { path = "../sui-quorum-driver" } sui-open-rpc-macros = { path = "../sui-open-rpc-macros" } sui-json-rpc-types = { path = "../sui-json-rpc-types" } sui-cost = { path = "../sui-cost" } diff --git a/crates/sui-json-rpc/src/quorum_driver_api.rs b/crates/sui-json-rpc/src/quorum_driver_api.rs index cd804e9c1a6f5..7c82bbe4a1018 100644 --- a/crates/sui-json-rpc/src/quorum_driver_api.rs +++ b/crates/sui-json-rpc/src/quorum_driver_api.rs @@ -12,9 +12,9 @@ use signature::Signature; use std::sync::Arc; use sui_core::authority::{AuthorityStore, ResolverWrapper}; use sui_core::authority_client::NetworkAuthorityClient; +use sui_core::quorum_driver::QuorumDriver; use sui_json_rpc_types::SuiExecuteTransactionResponse; use sui_open_rpc::Module; -use sui_quorum_driver::QuorumDriver; use sui_types::crypto::SignatureScheme; use sui_types::messages::{ExecuteTransactionRequest, ExecuteTransactionRequestType}; use sui_types::sui_serde::Base64; diff --git a/crates/sui-node/Cargo.toml b/crates/sui-node/Cargo.toml index 7f59f3b6b7cf1..84be7c53d8604 100644 --- a/crates/sui-node/Cargo.toml +++ b/crates/sui-node/Cargo.toml @@ -26,7 +26,6 @@ sui-network = { path = "../sui-network" } sui-json-rpc = { path = "../sui-json-rpc" } sui-telemetry = { path = "../sui-telemetry" } sui-types = { path = "../sui-types" } -sui-quorum-driver = { path = "../sui-quorum-driver" } telemetry-subscribers = "0.1.0" mysten-network = "0.1.0" diff --git a/crates/sui-node/src/lib.rs b/crates/sui-node/src/lib.rs index ff54e39c342de..ce5d7bf47ded9 100644 --- a/crates/sui-node/src/lib.rs +++ b/crates/sui-node/src/lib.rs @@ -15,6 +15,7 @@ use sui_config::NodeConfig; use sui_core::authority_active::checkpoint_driver::CheckpointMetrics; use sui_core::authority_aggregator::{AuthAggMetrics, AuthorityAggregator}; use sui_core::authority_server::ValidatorService; +use sui_core::quorum_driver::{QuorumDriver, QuorumDriverHandler, QuorumDriverMetrics}; use sui_core::safe_client::SafeClientMetrics; use sui_core::transaction_streamer::TransactionStreamer; use sui_core::{ @@ -29,8 +30,6 @@ use sui_core::{ use sui_json_rpc::bcs_api::BcsApiImpl; use sui_json_rpc::streaming_api::TransactionStreamingApiImpl; use sui_network::api::ValidatorServer; -use sui_quorum_driver::QuorumDriverMetrics; -use sui_quorum_driver::{QuorumDriver, QuorumDriverHandler}; use sui_storage::{ event_store::{EventStoreType, SqlEventStore}, node_sync_store::NodeSyncStore, diff --git a/crates/sui-quorum-driver/Cargo.toml b/crates/sui-quorum-driver/Cargo.toml deleted file mode 100644 index 94678147f15e9..0000000000000 --- a/crates/sui-quorum-driver/Cargo.toml +++ /dev/null @@ -1,18 +0,0 @@ -[package] -name = "sui-quorum-driver" -version = "0.1.0" -authors = ["Mysten Labs "] -license = "Apache-2.0" -publish = false -edition = "2021" - -[dependencies] -arc-swap = "1.5.1" -tokio = { version = "1.20.1", features = ["full"] } -tracing = "0.1.36" -prometheus = "0.13.2" -scopeguard = "1.1" - -sui-core = { path = "../sui-core" } -sui-types = { path = "../sui-types" } -workspace-hack = { path = "../workspace-hack"} diff --git a/crates/sui/Cargo.toml b/crates/sui/Cargo.toml index c97b1957d88e9..dcdcd81fe0b23 100644 --- a/crates/sui/Cargo.toml +++ b/crates/sui/Cargo.toml @@ -68,7 +68,6 @@ typed-store-derive = "0.1.0" jsonrpsee = { version = "0.15.1", features = ["full"] } test-utils = { path = "../test-utils" } -sui-quorum-driver = { path = "../sui-quorum-driver" } rand = "0.8.5" move-package = { git = "https://github.com/move-language/move", rev = "e1e647b73dbd3652aabb2020728a4a517c26e28e" } sui-core = { path = "../sui-core" } diff --git a/crates/sui/tests/quorum_driver_tests.rs b/crates/sui/tests/quorum_driver_tests.rs index 729ced3e5fa5f..dfd580ca91a84 100644 --- a/crates/sui/tests/quorum_driver_tests.rs +++ b/crates/sui/tests/quorum_driver_tests.rs @@ -4,8 +4,8 @@ use std::time::Duration; use sui_core::authority_aggregator::AuthorityAggregator; use sui_core::authority_client::NetworkAuthorityClient; +use sui_core::quorum_driver::{QuorumDriverHandler, QuorumDriverMetrics}; use sui_node::SuiNode; -use sui_quorum_driver::{QuorumDriverHandler, QuorumDriverMetrics}; use sui_types::base_types::SuiAddress; use sui_types::messages::{ ExecuteTransactionRequest, ExecuteTransactionRequestType, ExecuteTransactionResponse,