Skip to content

Commit 6797904

Browse files
authored
chore: Bump OpenDAL to latest version (risingwavelabs#8481)
Signed-off-by: Xuanwo <[email protected]>
1 parent 38edae8 commit 6797904

File tree

6 files changed

+23
-24
lines changed

6 files changed

+23
-24
lines changed

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/object_store/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ fail = "0.5"
2121
futures = { version = "0.3", default-features = false, features = ["alloc"] }
2222
hyper = "0.14"
2323
itertools = "0.10"
24-
opendal = "0.27.2"
24+
opendal = "0.30"
2525
prometheus = { version = "0.13", features = ["process"] }
2626
random-string = "1.0"
2727
risingwave_common = { path = "../common" }

src/object_store/src/object/opendal_engine/gcs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ impl OpendalObjectStore {
2727

2828
builder.root(&root);
2929

30-
let op: Operator = Operator::create(builder)?.finish();
30+
let op: Operator = Operator::new(builder)?.finish();
3131
Ok(Self {
3232
op,
3333
engine_type: EngineType::Gcs,

src/object_store/src/object/opendal_engine/opendal_object_store.rs

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use futures::future::try_join_all;
1818
use futures::StreamExt;
1919
use itertools::Itertools;
2020
use opendal::services::Memory;
21-
use opendal::Operator;
21+
use opendal::{Metakey, Operator};
2222
use tokio::io::AsyncRead;
2323

2424
use crate::object::{
@@ -47,7 +47,7 @@ impl OpendalObjectStore {
4747
// Create memory backend builder.
4848
let builder = Memory::default();
4949

50-
let op: Operator = Operator::create(builder)?.finish();
50+
let op: Operator = Operator::new(builder)?.finish();
5151
Ok(Self {
5252
op,
5353
engine_type: EngineType::Memory,
@@ -65,7 +65,7 @@ impl ObjectStore for OpendalObjectStore {
6565
if obj.is_empty() {
6666
Err(ObjectError::internal("upload empty object"))
6767
} else {
68-
self.op.object(path).write(obj).await?;
68+
self.op.write(path, obj).await?;
6969
Ok(())
7070
}
7171
}
@@ -81,15 +81,15 @@ impl ObjectStore for OpendalObjectStore {
8181
match block {
8282
Some(block) => {
8383
let range = block.offset as u64..(block.offset + block.size) as u64;
84-
let res = Bytes::from(self.op.object(path).range_read(range).await?);
84+
let res = Bytes::from(self.op.range_read(path, range).await?);
8585

8686
if block.size != res.len() {
8787
Err(ObjectError::internal("bad block offset and size"))
8888
} else {
8989
Ok(res)
9090
}
9191
}
92-
None => Ok(Bytes::from(self.op.object(path).read().await?)),
92+
None => Ok(Bytes::from(self.op.read(path).await?)),
9393
}
9494
}
9595

@@ -114,20 +114,15 @@ impl ObjectStore for OpendalObjectStore {
114114
));
115115

116116
let reader = match start_pos {
117-
Some(start_position) => {
118-
self.op
119-
.object(path)
120-
.range_reader(start_position as u64..)
121-
.await?
122-
}
123-
None => self.op.object(path).reader().await?,
117+
Some(start_position) => self.op.range_reader(path, start_position as u64..).await?,
118+
None => self.op.reader(path).await?,
124119
};
125120

126121
Ok(Box::new(reader))
127122
}
128123

129124
async fn metadata(&self, path: &str) -> ObjectResult<ObjectMetadata> {
130-
let opendal_metadata = self.op.object(path).metadata().await?;
125+
let opendal_metadata = self.op.stat(path).await?;
131126
let key = path.to_string();
132127
let last_modified = match opendal_metadata.last_modified() {
133128
Some(t) => t.unix_timestamp() as f64,
@@ -144,24 +139,28 @@ impl ObjectStore for OpendalObjectStore {
144139
}
145140

146141
async fn delete(&self, path: &str) -> ObjectResult<()> {
147-
self.op.object(path).delete().await?;
142+
self.op.delete(path).await?;
148143
Ok(())
149144
}
150145

151146
/// Deletes the objects with the given paths permanently from the storage. If an object
152147
/// specified in the request is not found, it will be considered as successfully deleted.
153148
async fn delete_objects(&self, paths: &[String]) -> ObjectResult<()> {
154-
self.op.batch().remove(paths.to_vec()).await?;
149+
self.op.remove(paths.to_vec()).await?;
155150
Ok(())
156151
}
157152

158153
async fn list(&self, prefix: &str) -> ObjectResult<Vec<ObjectMetadata>> {
159-
let mut object_lister = self.op.object(prefix).list().await?;
154+
let mut object_lister = self.op.list(prefix).await?;
160155
let mut metadata_list = vec![];
161156
while let Some(obj) = object_lister.next().await {
162157
let object = obj?;
163158
let key = prefix.to_string();
164-
let om = object.metadata().await?;
159+
160+
let om = self
161+
.op
162+
.metadata(&object, Metakey::LastModified | Metakey::ContentLength)
163+
.await?;
165164

166165
let last_modified = match om.last_modified() {
167166
Some(t) => t.unix_timestamp() as f64,
@@ -213,7 +212,7 @@ impl StreamingUploader for OpenDalStreamingUploader {
213212
}
214213

215214
async fn finish(mut self: Box<Self>) -> ObjectResult<()> {
216-
self.op.object(&self.path).write(self.buffer).await?;
215+
self.op.write(&self.path, self.buffer).await?;
217216

218217
Ok(())
219218
}

src/object_store/src/object/opendal_engine/oss.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ impl OpendalObjectStore {
3838
builder.endpoint(&endpoint);
3939
builder.access_key_id(&access_key_id);
4040
builder.access_key_secret(&access_key_secret);
41-
let op: Operator = Operator::create(builder)?.finish();
41+
let op: Operator = Operator::new(builder)?.finish();
4242
Ok(Self {
4343
op,
4444
engine_type: EngineType::Oss,

src/object_store/src/object/opendal_engine/webhdfs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ impl OpendalObjectStore {
2929
// NOTE: the root must be absolute path.
3030
builder.root(&root);
3131

32-
let op: Operator = Operator::create(builder)?.finish();
32+
let op: Operator = Operator::new(builder)?.finish();
3333
Ok(Self {
3434
op,
3535
engine_type: EngineType::Webhdfs,

0 commit comments

Comments
 (0)