yihua commented on code in PR #660:
URL: https://github.com/apache/hudi-rs/pull/660#discussion_r3788139984


##########
crates/core/src/file_group/file_slice.rs:
##########
@@ -29,7 +29,20 @@ use std::path::PathBuf;
 /// a [FileSlice] is a logical group of [BaseFile] and [LogFile]s.
 #[derive(Clone, Debug)]
 pub struct FileSlice {
-    pub base_file: BaseFile,
+    /// The base file, when the slice has one.
+    ///
+    /// A slice written by inserts that went straight to log files has none —
+    /// Flink ingestion, a bucket index's first write to a bucket, and any
+    /// merge-on-read file group before its first compaction all produce these.
+    pub base_file: Option<BaseFile>,

Review Comment:
   `base_file` becoming `Option<BaseFile>` (and `base_file_relative_path()` 
returning `Result<Option<String>>`) is a breaking change to hudi-core's public 
Rust API — the field is `pub` and external code compiles against the old shapes 
directly. All in-repo consumers (datafusion, python, cpp) are updated and CI is 
green, so this is only about communication. Could the PR description call it 
out alongside the timestamp-semantics breaking change, for crates.io consumers 
upgrading to 0.5?
   
   _⚠️ AI-generated; verify before applying. React 👍/👎 to flag quality._



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to