fresh-borzoni commented on code in PR #3430:
URL: https://github.com/apache/fluss/pull/3430#discussion_r3363615126


##########
fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/tiering/source/TieringSplitReader.java:
##########
@@ -732,6 +874,41 @@ public Set<String> finishedSplits() {
         }
     }
 
+    /**
+     * Callback interface for processing records within a single bucket. 
Encapsulates the
+     * differences in write strategy between the row-based (ScanRecord) and 
Arrow batch
+     * (ArrowBatchData) paths.
+     *
+     * @param <R> the record type (ScanRecord or ArrowBatchData)
+     */
+    @FunctionalInterface
+    private interface BucketRecordsHandler<R> {
+
+        /**
+         * Processes the records for a bucket and writes them to the lake.
+         *
+         * @param records the records for this bucket
+         * @param lakeWriterSupplier supplier for lazily creating the lake 
writer
+         * @param stoppingOffset the stopping offset for this bucket
+         * @return the timestamp of the last written record, or -1 if no 
records were written
+         * @throws IOException if an I/O error occurs during writing
+         */
+        long handleRecords(
+                List<R> records,
+                SupplierWithException<LakeWriter<?>, IOException> 
lakeWriterSupplier,
+                long stoppingOffset)
+                throws IOException;
+    }
+
+    private static boolean checkUnshadedArrowAvailable(ClassLoader 
classLoader) {

Review Comment:
   shall we check for ArrowBundleRecords from paimon-arrow?
   it's provided, so it might fail, if I understand this relationship correctly



-- 
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