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

Rename AccountsDb plugins to Geyser plugins (backport #23604) #23668

Merged
merged 2 commits into from
Mar 15, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Next Next commit
Rename AccountsDb plugins to Geyser plugins (#23604)
(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
commit fe1427ad71a4fa406f3be4d83a14680f014b3ca6
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