From c2ad8c5b8ded2b7f1bdbb4ce22bd14e1feffc242 Mon Sep 17 00:00:00 2001 From: Xuanwo Date: Fri, 9 Aug 2024 16:49:55 +0800 Subject: [PATCH] chore(core): Bump redis version (#4985) Signed-off-by: Xuanwo --- core/Cargo.lock | 13 +-- core/Cargo.toml | 124 ++++++++++++++--------------- core/src/services/redis/backend.rs | 3 +- 3 files changed, 71 insertions(+), 69 deletions(-) diff --git a/core/Cargo.lock b/core/Cargo.lock index 64ba90c2a18..a01238a9600 100644 --- a/core/Cargo.lock +++ b/core/Cargo.lock @@ -4653,9 +4653,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", @@ -6008,9 +6008,9 @@ dependencies = [ [[package]] name = "redis" -version = "0.25.4" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d7a6955c7511f60f3ba9e86c6d02b3c3f144f8c24b288d1f4e18074ab8bbec" +checksum = "e902a69d09078829137b4a5d9d082e0490393537badd7c91a3d69d14639e115f" dependencies = [ "arc-swap", "async-trait", @@ -6022,10 +6022,11 @@ dependencies = [ "itoa", "log", "native-tls", + "num-bigint", "percent-encoding", "pin-project-lite", "rand 0.8.5", - "rustls 0.22.4", + "rustls 0.23.10", "rustls-native-certs 0.7.1", "rustls-pemfile 2.1.2", "rustls-pki-types", @@ -6035,7 +6036,7 @@ dependencies = [ "tokio", "tokio-native-tls", "tokio-retry", - "tokio-rustls 0.25.0", + "tokio-rustls 0.26.0", "tokio-util", "url", ] diff --git a/core/Cargo.toml b/core/Cargo.toml index 50b144c5718..7c09b9345df 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -53,16 +53,16 @@ default = ["reqwest/rustls-tls", "executors-tokio", "services-memory"] # # You should never enable this feature unless you are developing opendal. tests = [ - "dep:rand", - "dep:sha2", - "dep:dotenvy", - "layers-blocking", - "services-azblob", - "services-fs", - "services-http", - "services-memory", - "internal-tokio-rt", - "services-s3", + "dep:rand", + "dep:sha2", + "dep:dotenvy", + "layers-blocking", + "services-azblob", + "services-fs", + "services-http", + "services-memory", + "internal-tokio-rt", + "services-s3", ] # Enable path cache. @@ -104,20 +104,20 @@ services-aliyun-drive = [] services-alluxio = [] services-atomicserver = ["dep:atomic_lib"] services-azblob = [ - "dep:sha2", - "dep:reqsign", - "reqsign?/services-azblob", - "reqsign?/reqwest_request", + "dep:sha2", + "dep:reqsign", + "reqsign?/services-azblob", + "reqsign?/reqwest_request", ] services-azdls = [ - "dep:reqsign", - "reqsign?/services-azblob", - "reqsign?/reqwest_request", + "dep:reqsign", + "reqsign?/services-azblob", + "reqsign?/reqwest_request", ] services-azfile = [ - "dep:reqsign", - "reqsign?/services-azblob", - "reqsign?/reqwest_request", + "dep:reqsign", + "reqsign?/services-azblob", + "reqsign?/reqwest_request", ] services-b2 = [] services-cacache = ["dep:cacache"] @@ -125,9 +125,9 @@ services-chainsafe = [] services-cloudflare-kv = [] services-compfs = ["dep:compio"] services-cos = [ - "dep:reqsign", - "reqsign?/services-tencent", - "reqsign?/reqwest_request", + "dep:reqsign", + "reqsign?/services-tencent", + "reqsign?/reqwest_request", ] services-d1 = [] services-dashmap = ["dep:dashmap"] @@ -138,9 +138,9 @@ services-foundationdb = ["dep:foundationdb"] services-fs = ["tokio/fs", "internal-tokio-rt"] services-ftp = ["dep:suppaftp", "dep:bb8", "dep:async-tls"] services-gcs = [ - "dep:reqsign", - "reqsign?/services-google", - "reqsign?/reqwest_request", + "dep:reqsign", + "reqsign?/services-google", + "reqsign?/reqwest_request", ] services-gdrive = ["internal-path-cache"] services-ghac = [] @@ -163,15 +163,15 @@ services-mongodb = ["dep:mongodb"] services-monoiofs = ["dep:monoio", "dep:flume"] services-mysql = ["dep:mysql_async"] services-obs = [ - "dep:reqsign", - "reqsign?/services-huaweicloud", - "reqsign?/reqwest_request", + "dep:reqsign", + "reqsign?/services-huaweicloud", + "reqsign?/reqwest_request", ] services-onedrive = [] services-oss = [ - "dep:reqsign", - "reqsign?/services-aliyun", - "reqsign?/reqwest_request", + "dep:reqsign", + "reqsign?/services-aliyun", + "reqsign?/reqwest_request", ] services-pcloud = [] services-persy = ["dep:persy", "internal-tokio-rt"] @@ -181,10 +181,10 @@ services-redis = ["dep:redis", "redis?/tokio-rustls-comp"] services-redis-native-tls = ["services-redis", "redis?/tokio-native-tls-comp"] services-rocksdb = ["dep:rocksdb", "internal-tokio-rt"] services-s3 = [ - "dep:reqsign", - "reqsign?/services-aws", - "reqsign?/reqwest_request", - "dep:crc32c", + "dep:reqsign", + "reqsign?/services-aws", + "reqsign?/reqwest_request", + "dep:crc32c", ] services-seafile = [] services-sftp = ["dep:openssh", "dep:openssh-sftp-client", "dep:bb8"] @@ -230,13 +230,13 @@ backon = "0.4.4" base64 = "0.22" bytes = "1.6" chrono = { version = "0.4.28", default-features = false, features = [ - "clock", - "std", + "clock", + "std", ] } flagset = "0.4" futures = { version = "0.3", default-features = false, features = [ - "std", - "async-await", + "std", + "async-await", ] } http = "1.1" log = "0.4" @@ -246,7 +246,7 @@ once_cell = "1" percent-encoding = "2" quick-xml = { version = "0.36", features = ["serialize", "overlapped-lists"] } reqwest = { version = "0.12.2", features = [ - "stream", + "stream", ], default-features = false } serde = { version = "1", features = ["derive"] } serde_json = "1" @@ -277,8 +277,8 @@ bb8-postgres = { version = "0.8.1", optional = true } tokio-postgres = { version = "0.7.8", optional = true } # for services-cacache cacache = { version = "13.0", default-features = false, features = [ - "tokio-runtime", - "mmap", + "tokio-runtime", + "mmap", ], optional = true } # for services-dashmap dashmap = { version = "6", optional = true } @@ -286,8 +286,8 @@ dashmap = { version = "6", optional = true } etcd-client = { version = "0.14", optional = true, features = ["tls"] } # for services-foundationdb foundationdb = { version = "0.9.0", features = [ - "embedded-fdb-include", - "fdb-7_3", + "embedded-fdb-include", + "fdb-7_3", ], optional = true } # for services-hdfs hdrs = { version = "0.3.2", optional = true, features = ["async_file"] } @@ -303,23 +303,23 @@ moka = { version = "0.12", optional = true, features = ["future", "sync"] } mongodb = { version = "3", optional = true } # for services-mysql mysql_async = { version = "0.34", default-features = false, features = [ - "default-rustls", + "default-rustls", ], optional = true } # for services-sftp openssh = { version = "0.10.0", optional = true } openssh-sftp-client = { version = "0.14.0", optional = true, features = [ - "openssh", - "tracing", + "openssh", + "tracing", ] } # for services-persy persy = { version = "1.4.6", optional = true } # for services-redb redb = { version = "2", optional = true } # for services-redis -redis = { version = "0.25", features = [ - "cluster-async", - "tokio-comp", - "connection-manager", +redis = { version = "0.26", features = [ + "cluster-async", + "tokio-comp", + "connection-manager", ], optional = true } # for services-rocksdb rocksdb = { version = "0.21", default-features = false, optional = true } @@ -329,9 +329,9 @@ rusqlite = { version = "0.32", optional = true, features = ["bundled"] } sled = { version = "0.34.7", optional = true } # for services-ftp suppaftp = { version = "6", default-features = false, features = [ - "async-secure", - "rustls", - "async-rustls", + "async-secure", + "rustls", + "async-rustls", ], optional = true } # for services-tikv tikv-client = { version = "0.3.0", optional = true, default-features = false } @@ -341,10 +341,10 @@ hdfs-native = { version = "0.10", optional = true } surrealdb = { version = "1.3.0", optional = true, features = ["protocol-http"] } # for services-compfs compio = { version = "0.11.0", optional = true, features = [ - "runtime", - "bytes", - "polling", - "dispatcher", + "runtime", + "bytes", + "polling", + "dispatcher", ] } # for services-s3 crc32c = { version = "0.6.6", optional = true } @@ -385,7 +385,7 @@ dotenvy = "0.15" fastrace = { version = "0.6", features = ["enable"] } libtest-mimic = "0.7" opentelemetry = { version = "0.24", default-features = false, features = [ - "trace", + "trace", ] } pretty_assertions = "1" rand = "0.8" @@ -393,6 +393,6 @@ sha2 = "0.10" size = "0.4" tokio = { version = "1.27", features = ["fs", "macros", "rt-multi-thread"] } tracing-subscriber = { version = "0.3", features = [ - "env-filter", - "tracing-log", + "env-filter", + "tracing-log", ] } diff --git a/core/src/services/redis/backend.rs b/core/src/services/redis/backend.rs index fc45eaa5cb7..9f840f3ca73 100644 --- a/core/src/services/redis/backend.rs +++ b/core/src/services/redis/backend.rs @@ -25,12 +25,12 @@ use redis::aio::ConnectionManager; use redis::cluster::ClusterClient; use redis::cluster::ClusterClientBuilder; use redis::cluster_async::ClusterConnection; -use redis::AsyncCommands; use redis::Client; use redis::ConnectionAddr; use redis::ConnectionInfo; use redis::RedisConnectionInfo; use redis::RedisError; +use redis::{AsyncCommands, ProtocolVersion}; use serde::Deserialize; use serde::Serialize; use tokio::sync::OnceCell; @@ -312,6 +312,7 @@ impl RedisBuilder { db: self.config.db, username: self.config.username.clone(), password: self.config.password.clone(), + protocol: ProtocolVersion::RESP2, }; Ok(ConnectionInfo {