mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-05 21:02:58 +00:00
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:
12
Cargo.lock
generated
12
Cargo.lock
generated
@@ -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",
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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(),
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user