This is an automated email from the ASF dual-hosted git repository.

xushiyan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hudi-rs.git


The following commit(s) were added to refs/heads/main by this push:
     new c999cb6  build(deps): upgrade arrow, pyo3, datafusion, rustc (#297)
c999cb6 is described below

commit c999cb6a5ebfc076e4fc3cc99e67b87087d8e1b1
Author: Shiyan Xu <[email protected]>
AuthorDate: Sun Feb 9 19:28:21 2025 -0600

    build(deps): upgrade arrow, pyo3, datafusion, rustc (#297)
---
 Cargo.toml                      | 40 ++++++++++++++++++++--------------------
 crates/core/src/config/table.rs |  4 ++--
 crates/core/src/table/mod.rs    |  2 +-
 crates/datafusion/src/lib.rs    |  2 +-
 demo/infra/runner/Dockerfile    |  2 +-
 demo/sql-datafusion/Cargo.toml  |  2 +-
 demo/table-api-rust/Cargo.toml  |  2 +-
 python/Cargo.toml               |  2 +-
 rust-toolchain.toml             |  2 +-
 9 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml
index 00f9429..95cacb2 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -26,7 +26,7 @@ resolver = "2"
 version = "0.4.0"
 edition = "2021"
 license = "Apache-2.0"
-rust-version = "1.81"
+rust-version = "1.84"
 keywords = ["apachehudi", "hudi", "datalake", "arrow"]
 readme = "README.md"
 description = "The native Rust implementation for Apache Hudi"
@@ -35,25 +35,25 @@ repository = "https://github.com/apache/hudi-rs";
 
 [workspace.dependencies]
 # arrow
-arrow = { version = "= 53.4.0", features = ["pyarrow"] }
-arrow-arith = { version = "= 53.4.0" }
-arrow-array = { version = "= 53.4.0" }
-arrow-buffer = { version = "= 53.4.0" }
-arrow-cast = { version = "= 53.4.0" }
-arrow-ipc = { version = "= 53.4.0" }
-arrow-json = { version = "= 53.4.0" }
-arrow-ord = { version = "= 53.4.0" }
-arrow-row = { version = "= 53.4.0" }
-arrow-schema = { version = "= 53.4.0", features = ["serde"] }
-arrow-select = { version = "= 53.4.0" }
-object_store = { version = "= 0.11.2", features = ["aws", "azure", "gcp"] }
-parquet = { version = "= 53.4.0", features = ["async", "object_store"] }
+arrow = { version = "~54.1.0", features = ["pyarrow"] }
+arrow-arith = { version = "~54.1.0" }
+arrow-array = { version = "~54.1.0" }
+arrow-buffer = { version = "~54.1.0" }
+arrow-cast = { version = "~54.1.0" }
+arrow-ipc = { version = "~54.1.0" }
+arrow-json = { version = "~54.1.0" }
+arrow-ord = { version = "~54.1.0" }
+arrow-row = { version = "~54.1.0" }
+arrow-schema = { version = "~54.1.0", features = ["serde"] }
+arrow-select = { version = "~54.1.0" }
+object_store = { version = "~0.11.2", features = ["aws", "azure", "gcp"] }
+parquet = { version = "~54.1.0", features = ["async", "object_store"] }
 
 # datafusion
-datafusion = { version = "= 43.0.0" }
-datafusion-expr = { version = "= 43.0.0" }
-datafusion-common = { version = "= 43.0.0" }
-datafusion-physical-expr = { version = "= 43.0.0" }
+datafusion = { version = "~45.0.0" }
+datafusion-expr = { version = "~45.0.0" }
+datafusion-common = { version = "~45.0.0" }
+datafusion-physical-expr = { version = "~45.0.0" }
 
 # serde
 percent-encoding = { version = "2.3.1" }
@@ -67,8 +67,8 @@ chrono = { version = "0.4" }
 lazy_static = { version = "1.5.0" }
 log = { version = "0.4" }
 paste = { version = "1.0.15" }
-strum = { version = "0.26", features = ["derive"] }
-strum_macros = "0.26"
+strum = { version = "0.27.0", features = ["derive"] }
+strum_macros = "0.27.0"
 url = { version = "2.5" }
 
 # runtime / async
diff --git a/crates/core/src/config/table.rs b/crates/core/src/config/table.rs
index 1960542..149938e 100644
--- a/crates/core/src/config/table.rs
+++ b/crates/core/src/config/table.rs
@@ -258,11 +258,11 @@ impl ConfigParser for HudiTableConfig {
                         );
                     }
 
-                    return HudiConfigValue::String(
+                    HudiConfigValue::String(
                         RecordMergeStrategyValue::OverwriteWithLatest
                             .as_ref()
                             .to_string(),
-                    );
+                    )
                 }
                 _ => self
                     .default_value()
diff --git a/crates/core/src/table/mod.rs b/crates/core/src/table/mod.rs
index 2415b65..93e4f8d 100644
--- a/crates/core/src/table/mod.rs
+++ b/crates/core/src/table/mod.rs
@@ -257,7 +257,7 @@ impl Table {
         }
 
         let n = std::cmp::max(1, n);
-        let chunk_size = (file_slices.len() + n - 1) / n;
+        let chunk_size = file_slices.len().div_ceil(n);
 
         Ok(file_slices
             .chunks(chunk_size)
diff --git a/crates/datafusion/src/lib.rs b/crates/datafusion/src/lib.rs
index 094c41c..9beb612 100644
--- a/crates/datafusion/src/lib.rs
+++ b/crates/datafusion/src/lib.rs
@@ -33,12 +33,12 @@ use datafusion::datasource::object_store::ObjectStoreUrl;
 use datafusion::datasource::physical_plan::parquet::ParquetExecBuilder;
 use datafusion::datasource::physical_plan::FileScanConfig;
 use datafusion::datasource::TableProvider;
+use datafusion::error::Result;
 use datafusion::logical_expr::Operator;
 use datafusion::physical_plan::ExecutionPlan;
 use datafusion_common::config::TableParquetOptions;
 use datafusion_common::DFSchema;
 use datafusion_common::DataFusionError::Execution;
-use datafusion_common::Result;
 use datafusion_expr::{CreateExternalTable, Expr, TableProviderFilterPushDown, 
TableType};
 use datafusion_physical_expr::create_physical_expr;
 
diff --git a/demo/infra/runner/Dockerfile b/demo/infra/runner/Dockerfile
index d7dbe7f..7faf95f 100644
--- a/demo/infra/runner/Dockerfile
+++ b/demo/infra/runner/Dockerfile
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-FROM rust:1.81
+FROM rust:1.84
 
 RUN apt-get update && apt-get install -y python3-dev python3-venv
 
diff --git a/demo/sql-datafusion/Cargo.toml b/demo/sql-datafusion/Cargo.toml
index 9cce925..c9babe1 100644
--- a/demo/sql-datafusion/Cargo.toml
+++ b/demo/sql-datafusion/Cargo.toml
@@ -25,5 +25,5 @@ edition = "2021"
 
 [dependencies]
 tokio = "^1"
-datafusion = "^43"
+datafusion = "~45.0.0"
 hudi = { path = "../../crates/hudi", features = ["datafusion"] }
diff --git a/demo/table-api-rust/Cargo.toml b/demo/table-api-rust/Cargo.toml
index 9960693..c807db6 100644
--- a/demo/table-api-rust/Cargo.toml
+++ b/demo/table-api-rust/Cargo.toml
@@ -25,6 +25,6 @@ edition = "2021"
 
 [dependencies]
 tokio = "^1"
-arrow = { version = "= 53.4.0", features = ["pyarrow"] }
+arrow = { version = "~54.1.0", features = ["pyarrow"] }
 
 hudi = { path = "../../crates/hudi" }
diff --git a/python/Cargo.toml b/python/Cargo.toml
index 08e84dd..9a89e3f 100644
--- a/python/Cargo.toml
+++ b/python/Cargo.toml
@@ -45,7 +45,7 @@ futures = { workspace = true }
 tokio = { workspace = true }
 
 [dependencies.pyo3]
-version = "0.22.6"
+version = "~0.23.0"
 features = ["extension-module", "abi3", "abi3-py39"]
 
 [lints.rust]
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 5631a32..25c5959 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -16,6 +16,6 @@
 # under the License.
 
 [toolchain]
-channel = "1.81"
+channel = "1.84"
 components = ["rustfmt", "clippy"]
 profile = "minimal"

Reply via email to