RPC: use finalized as default pubsub commitment level (backport #16659) (#16665)

* RPC: use finalized as default pubsub commitment level (#16659)

* RPC: use finalized as default pubsub commitment level

* update docs

* Fix tests

(cherry picked from commit a7e65c0034)

# Conflicts:
#	core/tests/rpc.rs

* fix conflicts

Co-authored-by: Justin Starry <justin@solana.com>
This commit is contained in:
mergify[bot]
2021-04-20 10:07:16 +00:00
committed by GitHub
parent 7df2525972
commit 6268fa32c6
3 changed files with 20 additions and 12 deletions

View File

@@ -643,9 +643,7 @@ impl RpcSubscriptions {
subscriber: Subscriber<Response<UiAccount>>,
) {
let config = config.unwrap_or_default();
let commitment = config
.commitment
.unwrap_or_else(CommitmentConfig::confirmed);
let commitment = config.commitment.unwrap_or_default();
let slot = if commitment.is_finalized() {
self.block_commitment_cache
@@ -716,10 +714,7 @@ impl RpcSubscriptions {
subscriber: Subscriber<Response<RpcKeyedAccount>>,
) {
let config = config.unwrap_or_default();
let commitment = config
.account_config
.commitment
.unwrap_or_else(CommitmentConfig::confirmed);
let commitment = config.account_config.commitment.unwrap_or_default();
let mut subscriptions = if commitment.is_confirmed() {
self.subscriptions
@@ -766,7 +761,7 @@ impl RpcSubscriptions {
sub_id: SubscriptionId,
subscriber: Subscriber<Response<RpcLogsResponse>>,
) {
let commitment = commitment.unwrap_or_else(CommitmentConfig::confirmed);
let commitment = commitment.unwrap_or_default();
{
let mut subscriptions = if commitment.is_confirmed() {
@@ -877,7 +872,7 @@ impl RpcSubscriptions {
.map(|config| (config.commitment, config.enable_received_notification))
.unwrap_or_default();
let commitment = commitment.unwrap_or_else(CommitmentConfig::confirmed);
let commitment = commitment.unwrap_or_default();
let mut subscriptions = if commitment.is_confirmed() {
self.subscriptions

View File

@@ -10,6 +10,7 @@ use serde_json::{json, Value};
use solana_account_decoder::UiAccount;
use solana_client::{
rpc_client::RpcClient,
rpc_config::{RpcAccountInfoConfig, RpcSignatureSubscribeConfig},
rpc_response::{Response, RpcSignatureResult, SlotUpdate},
};
use solana_core::{rpc_pubsub::gen_client::Client as PubsubClient, test_validator::TestValidator};
@@ -272,7 +273,13 @@ fn test_rpc_subscriptions() {
let status_sender = status_sender.clone();
tokio_01::spawn(
client
.signature_subscribe(sig.clone(), None)
.signature_subscribe(
sig.clone(),
Some(RpcSignatureSubscribeConfig {
commitment: Some(CommitmentConfig::confirmed()),
..RpcSignatureSubscribeConfig::default()
}),
)
.and_then(move |sig_stream| {
sig_stream.for_each(move |result| {
status_sender.send((sig.clone(), result)).unwrap();
@@ -301,7 +308,13 @@ fn test_rpc_subscriptions() {
let account_sender = account_sender.clone();
tokio_01::spawn(
client
.account_subscribe(pubkey, None)
.account_subscribe(
pubkey,
Some(RpcAccountInfoConfig {
commitment: Some(CommitmentConfig::confirmed()),
..RpcAccountInfoConfig::default()
}),
)
.and_then(move |account_stream| {
account_stream.for_each(move |result| {
account_sender.send(result).unwrap();