Skip to content
This repository has been archived by the owner on Jan 22, 2025. It is now read-only.

Commit

Permalink
Rename AccountsDb plugins to Geyser plugins (#23604)
Browse files Browse the repository at this point in the history
(cherry picked from commit 102dd68)

# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	core/Cargo.toml
#	core/src/replay_stage.rs
#	core/src/tvu.rs
#	geyser-plugin-interface/Cargo.toml
#	geyser-plugin-manager/Cargo.toml
#	geyser-plugin-manager/src/geyser_plugin_service.rs
#	geyser-plugin-manager/src/slot_status_notifier.rs
#	validator/src/bin/solana-test-validator.rs
#	validator/src/main.rs
  • Loading branch information
Tyera Eulberg authored and mergify-bot committed Mar 15, 2022
1 parent 5c3e196 commit fe1427a
Show file tree
Hide file tree
Showing 31 changed files with 336 additions and 194 deletions.
43 changes: 43 additions & 0 deletions Cargo.lock

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

8 changes: 8 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
[workspace]
members = [
<<<<<<< HEAD
"accountsdb-plugin-interface",
"accountsdb-plugin-manager",
"accounts-cluster-bench",
"bench-streamer",
"bench-tps",
"accounts-bench",
=======
"account-decoder",
"accounts-bench",
"accounts-cluster-bench",
>>>>>>> 102dd68a0 (Rename AccountsDb plugins to Geyser plugins (#23604))
"banking-bench",
"banks-client",
"banks-interface",
Expand All @@ -26,6 +32,8 @@ members = [
"validator",
"genesis",
"genesis-utils",
"geyser-plugin-interface",
"geyser-plugin-manager",
"gossip",
"install",
"keygen",
Expand Down
20 changes: 0 additions & 20 deletions accountsdb-plugin-interface/README.md

This file was deleted.

1 change: 0 additions & 1 deletion accountsdb-plugin-interface/src/lib.rs

This file was deleted.

29 changes: 29 additions & 0 deletions core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ rayon = "1.5.1"
retain_mut = "0.1.5"
serde = "1.0.130"
serde_derive = "1.0.103"
<<<<<<< HEAD
solana-accountsdb-plugin-manager = { path = "../accountsdb-plugin-manager", version = "=1.9.13" }
solana-bloom = { path = "../bloom", version = "=1.9.13" }
solana-client = { path = "../client", version = "=1.9.13" }
Expand All @@ -58,6 +59,34 @@ solana-streamer = { path = "../streamer", version = "=1.9.13" }
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
tempfile = "3.2.0"
=======
solana-address-lookup-table-program = { path = "../programs/address-lookup-table", version = "=1.10.3" }
solana-bloom = { path = "../bloom", version = "=1.10.3" }
solana-client = { path = "../client", version = "=1.10.3" }
solana-entry = { path = "../entry", version = "=1.10.3" }
solana-frozen-abi = { path = "../frozen-abi", version = "=1.10.3" }
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.10.3" }
solana-geyser-plugin-manager = { path = "../geyser-plugin-manager", version = "=1.10.3" }
solana-gossip = { path = "../gossip", version = "=1.10.3" }
solana-ledger = { path = "../ledger", version = "=1.10.3" }
solana-measure = { path = "../measure", version = "=1.10.3" }
solana-metrics = { path = "../metrics", version = "=1.10.3" }
solana-net-utils = { path = "../net-utils", version = "=1.10.3" }
solana-perf = { path = "../perf", version = "=1.10.3" }
solana-poh = { path = "../poh", version = "=1.10.3" }
solana-program-runtime = { path = "../program-runtime", version = "=1.10.3" }
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.10.3" }
solana-replica-lib = { path = "../replica-lib", version = "=1.10.3" }
solana-rpc = { path = "../rpc", version = "=1.10.3" }
solana-runtime = { path = "../runtime", version = "=1.10.3" }
solana-sdk = { path = "../sdk", version = "=1.10.3" }
solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.10.3" }
solana-streamer = { path = "../streamer", version = "=1.10.3" }
solana-transaction-status = { path = "../transaction-status", version = "=1.10.3" }
solana-vote-program = { path = "../programs/vote", version = "=1.10.3" }
sys-info = "0.9.1"
tempfile = "3.3.0"
>>>>>>> 102dd68a0 (Rename AccountsDb plugins to Geyser plugins (#23604))
thiserror = "1.0"
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.13" }
sys-info = "0.9.1"
Expand Down
5 changes: 5 additions & 0 deletions core/src/replay_stage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,14 @@ use {
voting_service::VoteOp,
window_service::DuplicateSlotReceiver,
},
<<<<<<< HEAD
solana_accountsdb_plugin_manager::block_metadata_notifier_interface::BlockMetadataNotifierLock,
=======
crossbeam_channel::{Receiver, RecvTimeoutError, Sender},
>>>>>>> 102dd68a0 (Rename AccountsDb plugins to Geyser plugins (#23604))
solana_client::rpc_response::SlotUpdate,
solana_entry::entry::VerifyRecyclers,
solana_geyser_plugin_manager::block_metadata_notifier_interface::BlockMetadataNotifierLock,
solana_gossip::cluster_info::ClusterInfo,
solana_ledger::{
block_error::BlockError,
Expand Down
5 changes: 5 additions & 0 deletions core/src/tvu.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,13 @@ use {
tower_storage::TowerStorage,
voting_service::VotingService,
},
<<<<<<< HEAD
crossbeam_channel::unbounded,
solana_accountsdb_plugin_manager::block_metadata_notifier_interface::BlockMetadataNotifierLock,
=======
crossbeam_channel::{unbounded, Receiver},
solana_geyser_plugin_manager::block_metadata_notifier_interface::BlockMetadataNotifierLock,
>>>>>>> 102dd68a0 (Rename AccountsDb plugins to Geyser plugins (#23604))
solana_gossip::cluster_info::ClusterInfo,
solana_ledger::{
blockstore::Blockstore, blockstore_processor::TransactionStatusSender,
Expand Down
63 changes: 25 additions & 38 deletions core/src/validator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ use {
},
crossbeam_channel::{bounded, unbounded},
rand::{thread_rng, Rng},
solana_accountsdb_plugin_manager::accountsdb_plugin_service::AccountsDbPluginService,
solana_entry::poh::compute_hash_time_ns,
solana_geyser_plugin_manager::geyser_plugin_service::GeyserPluginService,
solana_gossip::{
cluster_info::{
ClusterInfo, Node, DEFAULT_CONTACT_DEBUG_INTERVAL_MILLIS,
Expand Down Expand Up @@ -119,7 +119,7 @@ pub struct ValidatorConfig {
pub account_shrink_paths: Option<Vec<PathBuf>>,
pub rpc_config: JsonRpcConfig,
pub accountsdb_repl_service_config: Option<AccountsDbReplServiceConfig>,
pub accountsdb_plugin_config_files: Option<Vec<PathBuf>>,
pub geyser_plugin_config_files: Option<Vec<PathBuf>>,
pub rpc_addrs: Option<(SocketAddr, SocketAddr)>, // (JsonRpc, JsonRpcPubSub)
pub pubsub_config: PubSubConfig,
pub snapshot_config: Option<SnapshotConfig>,
Expand Down Expand Up @@ -180,7 +180,7 @@ impl Default for ValidatorConfig {
account_shrink_paths: None,
rpc_config: JsonRpcConfig::default(),
accountsdb_repl_service_config: None,
accountsdb_plugin_config_files: None,
geyser_plugin_config_files: None,
rpc_addrs: None,
pubsub_config: PubSubConfig::default(),
snapshot_config: None,
Expand Down Expand Up @@ -298,7 +298,7 @@ pub struct Validator {
pub cluster_info: Arc<ClusterInfo>,
pub bank_forks: Arc<RwLock<BankForks>>,
accountsdb_repl_service: Option<AccountsDbReplService>,
accountsdb_plugin_service: Option<AccountsDbPluginService>,
geyser_plugin_service: Option<GeyserPluginService>,
}

// in the distant future, get rid of ::new()/exit() and use Result properly...
Expand Down Expand Up @@ -337,18 +337,16 @@ impl Validator {

let mut bank_notification_senders = Vec::new();

let accountsdb_plugin_service =
if let Some(accountsdb_plugin_config_files) = &config.accountsdb_plugin_config_files {
let geyser_plugin_service =
if let Some(geyser_plugin_config_files) = &config.geyser_plugin_config_files {
let (confirmed_bank_sender, confirmed_bank_receiver) = unbounded();
bank_notification_senders.push(confirmed_bank_sender);
let result = AccountsDbPluginService::new(
confirmed_bank_receiver,
accountsdb_plugin_config_files,
);
let result =
GeyserPluginService::new(confirmed_bank_receiver, geyser_plugin_config_files);
match result {
Ok(accountsdb_plugin_service) => Some(accountsdb_plugin_service),
Ok(geyser_plugin_service) => Some(geyser_plugin_service),
Err(err) => {
error!("Failed to load the AccountsDb plugin: {:?}", err);
error!("Failed to load the Geyser plugin: {:?}", err);
abort();
}
}
Expand Down Expand Up @@ -422,29 +420,20 @@ impl Validator {

let accounts_package_channel = channel();

let accounts_update_notifier =
accountsdb_plugin_service
.as_ref()
.and_then(|accountsdb_plugin_service| {
accountsdb_plugin_service.get_accounts_update_notifier()
});

let transaction_notifier =
accountsdb_plugin_service
.as_ref()
.and_then(|accountsdb_plugin_service| {
accountsdb_plugin_service.get_transaction_notifier()
});

let block_metadata_notifier =
accountsdb_plugin_service
.as_ref()
.and_then(|accountsdb_plugin_service| {
accountsdb_plugin_service.get_block_metadata_notifier()
});
let accounts_update_notifier = geyser_plugin_service
.as_ref()
.and_then(|geyser_plugin_service| geyser_plugin_service.get_accounts_update_notifier());

let transaction_notifier = geyser_plugin_service
.as_ref()
.and_then(|geyser_plugin_service| geyser_plugin_service.get_transaction_notifier());

let block_metadata_notifier = geyser_plugin_service
.as_ref()
.and_then(|geyser_plugin_service| geyser_plugin_service.get_block_metadata_notifier());

info!(
"AccountsDb plugin: accounts_update_notifier: {} transaction_notifier: {}",
"Geyser plugin: accounts_update_notifier: {} transaction_notifier: {}",
accounts_update_notifier.is_some(),
transaction_notifier.is_some()
);
Expand Down Expand Up @@ -954,7 +943,7 @@ impl Validator {
cluster_info,
bank_forks,
accountsdb_repl_service,
accountsdb_plugin_service,
geyser_plugin_service,
}
}

Expand Down Expand Up @@ -1073,10 +1062,8 @@ impl Validator {
.expect("accountsdb_repl_service");
}

if let Some(accountsdb_plugin_service) = self.accountsdb_plugin_service {
accountsdb_plugin_service
.join()
.expect("accountsdb_plugin_service");
if let Some(geyser_plugin_service) = self.geyser_plugin_service {
geyser_plugin_service.join().expect("geyser_plugin_service");
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion docs/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ module.exports = {
},
"developing/test-validator",
"developing/backwards-compatibility",
"developing/plugins/accountsdb_plugin"
"developing/plugins/geyser-plugins"
],
Integrating: ["integrations/exchange"],
Validating: [
Expand Down
2 changes: 1 addition & 1 deletion docs/src/developing/backwards-compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Major releases:
- [`solana-program`](https://docs.rs/solana-program/) - Rust SDK for writing programs
- [`solana-client`](https://docs.rs/solana-client/) - Rust client for connecting to RPC API
- [`solana-cli-config`](https://docs.rs/solana-cli-config/) - Rust client for managing Solana CLI config files
- [`solana-accountsdb-plugin-interface`](https://docs.rs/solana-accountsdb-plugin-interface/) - Rust interface for developing Solana AccountsDb plugins.
- [`solana-geyser-plugin-interface`](https://docs.rs/solana-geyser-plugin-interface/) - Rust interface for developing Solana Geyser plugins.

Patch releases:

Expand Down
Loading

0 comments on commit fe1427a

Please sign in to comment.