rpc: bump jsonrpsee v0.22 and fix race in rpc v2 chain_head (#3230)

Close #2992 

Breaking changes:
- rpc server grafana metric `substrate_rpc_requests_started` is removed
(not possible to implement anymore)
- rpc server grafana metric `substrate_rpc_requests_finished` is removed
(not possible to implement anymore)
- rpc server ws ping/pong not ACK:ed within 30 seconds more than three
times then the connection will be closed

Added
- rpc server grafana metric `substrate_rpc_sessions_time` is added to
get the duration for each websocket session
This commit is contained in:
Niklas Adolfsson
2024-02-14 23:18:22 +01:00
committed by GitHub
parent 7e7c488ba8
commit c7c4fe0184
53 changed files with 777 additions and 468 deletions
+1 -1
View File
@@ -15,7 +15,7 @@ workspace = true
targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
jsonrpsee = { version = "0.20.3", features = ["ws-client"] }
jsonrpsee = { version = "0.22", features = ["ws-client"] }
sc-rpc-api = { path = "../../../../client/rpc-api" }
async-trait = "0.1.74"
serde = "1"
+2 -2
View File
@@ -44,9 +44,9 @@ use std::collections::VecDeque;
pub use jsonrpsee::{
core::{
client::{ClientT, Subscription, SubscriptionClientT},
client::{ClientT, Error, Subscription, SubscriptionClientT},
params::BatchRequestBuilder,
Error, RpcResult,
RpcResult,
},
rpc_params,
ws_client::{WsClient, WsClientBuilder},
@@ -23,7 +23,8 @@ sp-core = { path = "../../../../primitives/core" }
sp-state-machine = { path = "../../../../primitives/state-machine" }
sp-trie = { path = "../../../../primitives/trie" }
trie-db = "0.28.0"
jsonrpsee = { version = "0.20.3", features = ["client-core", "macros", "server"] }
jsonrpsee = { version = "0.22", features = ["client-core", "macros", "server"] }
# Substrate Dependencies
sc-client-api = { path = "../../../../client/api" }
+2 -2
View File
@@ -16,7 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "3.6.1" }
jsonrpsee = { version = "0.20.3", features = ["jsonrpsee-types"] }
jsonrpsee = { version = "0.22", features = ["jsonrpsee-types"] }
serde = "1"
frame-support = { path = "../../../../frame/support" }
sc-rpc-api = { path = "../../../../client/rpc-api" }
@@ -24,7 +24,7 @@ sp-storage = { path = "../../../../primitives/storage" }
[dev-dependencies]
scale-info = "2.10.0"
jsonrpsee = { version = "0.20.3", features = ["jsonrpsee-types", "ws-client"] }
jsonrpsee = { version = "0.22", features = ["jsonrpsee-types", "ws-client"] }
tokio = "1.22.0"
sp-core = { path = "../../../../primitives/core" }
sp-runtime = { path = "../../../../primitives/runtime" }
+2 -2
View File
@@ -23,7 +23,7 @@
use codec::{DecodeAll, FullCodec, FullEncode};
use core::marker::PhantomData;
use frame_support::storage::generator::{StorageDoubleMap, StorageMap, StorageValue};
use jsonrpsee::core::Error as RpcError;
use jsonrpsee::core::ClientError as RpcError;
use sc_rpc_api::state::StateApiClient;
use serde::{de::DeserializeOwned, Serialize};
use sp_storage::{StorageData, StorageKey};
@@ -31,7 +31,7 @@ use sp_storage::{StorageData, StorageKey};
/// A typed query on chain state usable from an RPC client.
///
/// ```no_run
/// # use jsonrpsee::core::Error as RpcError;
/// # use jsonrpsee::core::ClientError as RpcError;
/// # use jsonrpsee::ws_client::WsClientBuilder;
/// # use codec::Encode;
/// # use frame_support::{construct_runtime, derive_impl, traits::ConstU32};
+1 -1
View File
@@ -17,7 +17,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
codec = { package = "parity-scale-codec", version = "3.6.1" }
jsonrpsee = { version = "0.20.3", features = ["client-core", "macros", "server"] }
jsonrpsee = { version = "0.22", features = ["client-core", "macros", "server"] }
futures = "0.3.21"
log = { workspace = true, default-features = true }
frame-system-rpc-runtime-api = { path = "../../../../frame/system/rpc/runtime-api" }