This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/opendal.git
The following commit(s) were added to refs/heads/main by this push:
new c2ad8c5b8d chore(core): Bump redis version (#4985)
c2ad8c5b8d is described below
commit c2ad8c5b8ded2b7f1bdbb4ce22bd14e1feffc242
Author: Xuanwo <[email protected]>
AuthorDate: Fri Aug 9 16:49:55 2024 +0800
chore(core): Bump redis version (#4985)
Signed-off-by: Xuanwo <[email protected]>
---
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 64ba90c2a1..a01238a960 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 50b144c571..7c09b9345d 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 fc45eaa5cb..9f840f3ca7 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 {