yihua commented on code in PR #11368:
URL: https://github.com/apache/hudi/pull/11368#discussion_r1622849730


##########
hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SnapshotLoadQuerySplitter.java:
##########
@@ -61,20 +62,21 @@ public SnapshotLoadQuerySplitter(TypedProperties 
properties) {
    *
    * @param df The dataset to process.
    * @param beginCheckpointStr The starting checkpoint string.
+   * @param sourceProfileSupplier An Option of a SourceProfileSupplier to use 
in load splitting implementation
    * @return The next checkpoint as an Option.
    */
-  public abstract Option<String> getNextCheckpoint(Dataset<Row> df, String 
beginCheckpointStr);
+  public abstract Option<String> getNextCheckpoint(Dataset<Row> df, String 
beginCheckpointStr, Option<SourceProfileSupplier> sourceProfileSupplier);
 
   /**
-   * Retrieves the next checkpoint based on query information.
+   * Retrieves the next checkpoint based on query information and a 
SourceProfileSupplier.
    *
    * @param df The dataset to process.
    * @param queryInfo The query information object.
    * @return Updated query information with the next checkpoint, in case of 
empty checkpoint,
    * returning endPoint same as queryInfo.getEndInstant().
    */
-  public QueryInfo getNextCheckpoint(Dataset<Row> df, QueryInfo queryInfo) {
-    return getNextCheckpoint(df, queryInfo.getStartInstant())
+  public QueryInfo getNextCheckpoint(Dataset<Row> df, QueryInfo queryInfo, 
Option<SourceProfileSupplier> sourceProfileSupplier) {

Review Comment:
   Add the new parameter `@param sourceProfileSupplier <description>` to the 
javadocs, same as above.



##########
hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/SnapshotLoadQuerySplitter.java:
##########
@@ -61,20 +62,21 @@ public SnapshotLoadQuerySplitter(TypedProperties 
properties) {
    *
    * @param df The dataset to process.
    * @param beginCheckpointStr The starting checkpoint string.
+   * @param sourceProfileSupplier An Option of a SourceProfileSupplier to use 
in load splitting implementation

Review Comment:
   Let's mark this class with `@PublicAPIClass(maturity = 
ApiMaturityLevel.EVOLVING)` and the abstract methods with 
`@PublicAPIMethod(maturity = ApiMaturityLevel.EVOLVING)`, given this class 
serves as an extendable API class for user to plug in custom implementation.



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