Make SurrealCS connection pool size configurable (#4826)
This commit is contained in:
parent
3b21249e99
commit
8cca86028b
4 changed files with 14 additions and 15 deletions
19
Cargo.lock
generated
19
Cargo.lock
generated
|
@ -3503,24 +3503,17 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nanoservices-utils"
|
name = "nanoservices-utils"
|
||||||
version = "0.1.4"
|
version = "0.1.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c6a95cdb2ba5dc6584099b1aac8da0a6f80e12ad5f9381a19d232c1fee714793"
|
checksum = "63a4117f6ebfcfe84722ef283fd6e3bfcaa141718f3ff092343bb6cb98482e03"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"actix-web",
|
|
||||||
"bincode",
|
|
||||||
"bitcode",
|
"bitcode",
|
||||||
"bytes",
|
|
||||||
"chrono",
|
"chrono",
|
||||||
"futures",
|
"futures",
|
||||||
"jsonwebtoken",
|
|
||||||
"paste",
|
"paste",
|
||||||
"revision 0.7.1",
|
"revision 0.7.1",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio",
|
|
||||||
"tokio-util",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -5990,9 +5983,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "surrealcs"
|
name = "surrealcs"
|
||||||
version = "0.3.1"
|
version = "0.3.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "457eb2adc59f9a9ba337e1fa3a6af63e09524e4adf01921b9d7079917cd7f694"
|
checksum = "b28a50184a9a743ac180985d8b94ac4c93e4afaa0140f1057d3b11d4d36b9e8b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"bytes",
|
"bytes",
|
||||||
|
@ -6011,9 +6004,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "surrealcs-kernel"
|
name = "surrealcs-kernel"
|
||||||
version = "0.3.1"
|
version = "0.3.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f4a79da58bfc886b93a431a463f956184d4b0a9d3672833544a1b718ff86b0df"
|
checksum = "ab2a5ba4af373b48fa241a81676d0172fc92e563df217282c472252b90beafee"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
|
|
@ -147,7 +147,7 @@ sha2 = "0.10.8"
|
||||||
snap = "1.1.0"
|
snap = "1.1.0"
|
||||||
storekey = "0.5.0"
|
storekey = "0.5.0"
|
||||||
subtle = "2.6"
|
subtle = "2.6"
|
||||||
surrealcs = { version = "0.3.1", optional = true }
|
surrealcs = { version = "0.3.2", optional = true }
|
||||||
surrealkv = { version = "0.3.6", optional = true }
|
surrealkv = { version = "0.3.6", optional = true }
|
||||||
surrealml = { version = "0.1.1", optional = true, package = "surrealml-core" }
|
surrealml = { version = "0.1.1", optional = true, package = "surrealml-core" }
|
||||||
tempfile = { version = "3.10.1", optional = true }
|
tempfile = { version = "3.10.1", optional = true }
|
||||||
|
|
4
core/src/kvs/surrealcs/cnf.rs
Normal file
4
core/src/kvs/surrealcs/cnf.rs
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
use std::sync::LazyLock;
|
||||||
|
|
||||||
|
pub static SURREALCS_CONNECTION_POOL_SIZE: LazyLock<usize> =
|
||||||
|
lazy_env_parse_or_else!("SURREAL_SURREALCS_CONNECTION_POOL_SIZE", usize, |_| num_cpus::get());
|
|
@ -1,5 +1,7 @@
|
||||||
#![cfg(feature = "kv-surrealcs")]
|
#![cfg(feature = "kv-surrealcs")]
|
||||||
|
|
||||||
|
mod cnf;
|
||||||
|
|
||||||
use crate::err::Error;
|
use crate::err::Error;
|
||||||
use crate::key::debug::Sprintable;
|
use crate::key::debug::Sprintable;
|
||||||
use crate::kvs::savepoint::{SaveOperation, SavePointImpl, SavePoints};
|
use crate::kvs::savepoint::{SaveOperation, SavePointImpl, SavePoints};
|
||||||
|
@ -72,7 +74,7 @@ impl Drop for Transaction {
|
||||||
impl Datastore {
|
impl Datastore {
|
||||||
/// Open a new database
|
/// Open a new database
|
||||||
pub(crate) async fn new(path: &str) -> Result<Datastore, Error> {
|
pub(crate) async fn new(path: &str) -> Result<Datastore, Error> {
|
||||||
match create_connection_pool(path, None).await {
|
match create_connection_pool(path, Some(*cnf::SURREALCS_CONNECTION_POOL_SIZE)).await {
|
||||||
Ok(_) => Ok(Datastore {}),
|
Ok(_) => Ok(Datastore {}),
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
Err(Error::Ds("Cannot connect to the `surrealcs` storage engine".to_string()))
|
Err(Error::Ds("Cannot connect to the `surrealcs` storage engine".to_string()))
|
||||||
|
|
Loading…
Reference in a new issue