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 3eba72597 chore: Upgrade redis dependency to version 1 (#6959)
3eba72597 is described below
commit 3eba725971457597dfc11e8ba12f03f8176da1c1
Author: Shachar Langbeheim <[email protected]>
AuthorDate: Tue Dec 9 12:51:56 2025 +0200
chore: Upgrade redis dependency to version 1 (#6959)
Upgrade redis dependency to version 1
---
core/Cargo.lock | 15 +++++++++++----
core/core/Cargo.toml | 2 +-
core/core/src/services/redis/backend.rs | 33 +++++++++++++++++++++-----------
core/core/src/services/sqlite/backend.rs | 2 +-
4 files changed, 35 insertions(+), 17 deletions(-)
diff --git a/core/Cargo.lock b/core/Cargo.lock
index 6e507649a..b29dab5b6 100644
--- a/core/Cargo.lock
+++ b/core/Cargo.lock
@@ -209,6 +209,12 @@ version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
+[[package]]
+name = "arcstr"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03918c3dbd7701a85c6b9887732e2921175f26c350b4563841d0958c21d57e6d"
+
[[package]]
name = "argon2"
version = "0.5.3"
@@ -6765,7 +6771,7 @@ version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1"
dependencies = [
- "heck 0.4.1",
+ "heck 0.5.0",
"itertools 0.14.0",
"log",
"multimap",
@@ -7192,18 +7198,18 @@ dependencies = [
[[package]]
name = "redis"
-version = "0.32.7"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "014cc767fefab6a3e798ca45112bccad9c6e0e218fbd49720042716c73cfef44"
+checksum = "47ba378d39b8053bffbfc2750220f5a24a06189b5129523d5db01618774e0239"
dependencies = [
"arc-swap",
+ "arcstr",
"backon",
"bytes",
"cfg-if",
"combine",
"crc16",
"futures-channel",
- "futures-sink",
"futures-util",
"itoa",
"log",
@@ -7222,6 +7228,7 @@ dependencies = [
"tokio-rustls 0.26.4",
"tokio-util",
"url",
+ "xxhash-rust",
]
[[package]]
diff --git a/core/core/Cargo.toml b/core/core/Cargo.toml
index 136f2f9c5..fc6b50471 100644
--- a/core/core/Cargo.toml
+++ b/core/core/Cargo.toml
@@ -257,7 +257,7 @@ persy = { version = "1.7.1", optional = true }
# for services-redb
redb = { version = "2", optional = true }
# for services-redis
-redis = { version = "0.32", features = [
+redis = { version = "1.0", features = [
"cluster-async",
"tokio-comp",
"connection-manager",
diff --git a/core/core/src/services/redis/backend.rs
b/core/core/src/services/redis/backend.rs
index 1b219f44f..a23f303bb 100644
--- a/core/core/src/services/redis/backend.rs
+++ b/core/core/src/services/redis/backend.rs
@@ -22,6 +22,7 @@ use http::Uri;
use redis::Client;
use redis::ConnectionAddr;
use redis::ConnectionInfo;
+use redis::IntoConnectionInfo;
use redis::ProtocolVersion;
use redis::RedisConnectionInfo;
use redis::cluster::ClusterClientBuilder;
@@ -244,17 +245,27 @@ impl RedisBuilder {
}
};
- let redis_info = RedisConnectionInfo {
- db: self.config.db,
- username: self.config.username.clone(),
- password: self.config.password.clone(),
- protocol: ProtocolVersion::RESP2,
- };
-
- Ok(ConnectionInfo {
- addr: con_addr,
- redis: redis_info,
- })
+ let mut redis_info = RedisConnectionInfo::default()
+ .set_db(self.config.db)
+ .set_protocol(ProtocolVersion::RESP2);
+ if let Some(username) = &self.config.username {
+ redis_info = redis_info.set_username(username);
+ }
+ if let Some(password) = &self.config.password {
+ redis_info = redis_info.set_password(password);
+ }
+ let connection_info = con_addr
+ .clone()
+ .into_connection_info()
+ .map_err(|err| {
+ Error::new(ErrorKind::ConfigInvalid, "invalid connection
address")
+ .with_context("service", REDIS_SCHEME)
+ .with_context("address", con_addr)
+ .with_context("error", err)
+ })?
+ .set_redis_settings(redis_info);
+
+ Ok(connection_info)
}
}
diff --git a/core/core/src/services/sqlite/backend.rs
b/core/core/src/services/sqlite/backend.rs
index 8b05e765b..79d8ce923 100644
--- a/core/core/src/services/sqlite/backend.rs
+++ b/core/core/src/services/sqlite/backend.rs
@@ -356,6 +356,6 @@ mod test {
let accessor =
SqliteBackend::new(core).with_normalized_root("/test/".to_string());
assert_eq!(accessor.root, "/test/");
- assert_eq!(accessor.info.root(), "/test/".into());
+ assert_eq!(accessor.info.root(), Arc::from("/test/"));
}
}