feat: Bump OpenDAL to 0.24 for better seekable support (#847)

* deps: Bump OpenDAL to 0.24 for better seekable support

Signed-off-by: Xuanwo <github@xuanwo.io>

* fix: test

Signed-off-by: Xuanwo <github@xuanwo.io>
Co-authored-by: Lei, HUANG <mrsatangel@gmail.com>
This commit is contained in:
Xuanwo
2023-01-09 11:37:43 +08:00
committed by GitHub
parent 5b675f54a8
commit 777a3182c5
4 changed files with 20 additions and 11 deletions

12
Cargo.lock generated
View File

@@ -4393,9 +4393,9 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
[[package]]
name = "opendal"
version = "0.22.5"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0d1ff77f4919836ec2002b7b42366722b2856c2b718102d3d1cd58db5e56e3e"
checksum = "97541724cf371973b28f5a873404f2a2a4f7bb1efe7ca36a27836c13958781c2"
dependencies = [
"anyhow",
"async-compat",
@@ -5401,9 +5401,9 @@ dependencies = [
[[package]]
name = "quick-xml"
version = "0.26.0"
version = "0.27.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd"
checksum = "ffc053f057dd768a56f62cd7e434c42c831d296968997e9ac1f76ea7c2d14c41"
dependencies = [
"memchr",
"serde",
@@ -5664,9 +5664,9 @@ dependencies = [
[[package]]
name = "reqsign"
version = "0.7.1"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64e209415378d7a5e169615faee53d9961ee1f1046d9d00991045a6a2de9f3f6"
checksum = "1c97ac0f771c78ddf4bcb73c8454c76565a7249780e7296767f7e89661b0e045"
dependencies = [
"anyhow",
"backon",

View File

@@ -6,7 +6,7 @@ license.workspace = true
[dependencies]
futures = { version = "0.3" }
opendal = { version = "0.22", features = ["layers-tracing", "layers-metrics"] }
opendal = { version = "0.24", features = ["layers-tracing", "layers-metrics"] }
tokio.workspace = true
[dev-dependencies]

View File

@@ -12,7 +12,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
pub use opendal::raw::SeekableReader;
pub use opendal::{
layers, services, Error, ErrorKind, Layer, Object, ObjectLister, ObjectMetadata, ObjectMode,
Operator as ObjectStore, Result,

View File

@@ -33,7 +33,8 @@ use table::predicate::Predicate;
use tokio::io::BufReader;
use crate::error::{
self, NewRecordBatchSnafu, ReadParquetSnafu, Result, WriteObjectSnafu, WriteParquetSnafu,
self, NewRecordBatchSnafu, ReadObjectSnafu, ReadParquetSnafu, Result, WriteObjectSnafu,
WriteParquetSnafu,
};
use crate::memtable::BoxedBatchIterator;
use crate::read::{Batch, BatchReader};
@@ -140,7 +141,14 @@ impl<'a> ParquetReader<'a> {
pub async fn chunk_stream(&self) -> Result<ChunkStream> {
let operator = self.object_store.clone();
let reader = operator.object(self.file_path).seekable_reader(..).compat();
let reader = operator
.object(self.file_path)
.reader()
.await
.context(ReadObjectSnafu {
path: self.file_path,
})?
.compat();
let buf_reader = BufReader::new(reader);
let builder = ParquetRecordBatchStreamBuilder::new(buf_reader)
.await
@@ -273,7 +281,9 @@ mod tests {
let reader = BufReader::new(
object_store
.object(sst_file_name)
.seekable_reader(..)
.reader()
.await
.unwrap()
.compat(),
);