boneanxs opened a new pull request, #7627:
URL: https://github.com/apache/hudi/pull/7627

   ### Change Logs
   
   _Describe context and summary for this change. Highlight if any code was 
copied._
   1. `HoodieInstant` add state transition time support
   2. Add some methods relating to state transition time in HoodieTimeline
   3. Add new configure to allow incremental pulling data by state transition 
time
   4. Spark `HoodieStreamSource` need to use state transition time to 
incremental pulling data
   
   ### Impact
   
   Hudi timeline can actually miss some instants if we incremental pulling from 
upstream hudi table, which is written by several writers.
   
   For example, say we have 2 writers writing data to the hudi table, and the 
last success incremental pulling end timestamp is 001
   
   w1 is writing 002, w2 is writing 003, if w2 is finished earlier than the w1, 
then the incremental pulling end timestamp will be updated to 003, and actually 
w1's commit: 002 will be skipped since it's instant time is earlier than the 
w2's.
   
   We actually needs to use commit end time(state transition time) to filter 
the commits if using incremental pulling. As w2's state transition time is 
earlier than the w1's, so w1's data won't be filtered.
   
   This relates to the 
[HUDI-1623](https://issues.apache.org/jira/browse/HUDI-1623) but not adding end 
time to the end of each commit, instead use `FileStatus.getModificationTime` to 
represent the end time.
   
   ### Risk level (write none, low medium or high below)
   
   low
   
   ### Documentation Update
   
   _Describe any necessary documentation update if there is any new feature, 
config, or user-facing change_
   
   - _The config description must be updated if new configs are added or the 
default value of the configs are changed_
   - _Any new feature or user-facing change requires updating the Hudi website. 
Please create a Jira ticket, attach the
     ticket number here and follow the 
[instruction](https://hudi.apache.org/contribute/developer-setup#website) to 
make
     changes to the website._
   
   ### Contributor's checklist
   
   - [ ] Read through [contributor's 
guide](https://hudi.apache.org/contribute/how-to-contribute)
   - [ ] Change Logs and Impact were stated clearly
   - [ ] Adequate tests were added if applicable
   - [ ] CI passed
   


-- 
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: commits-unsubscr...@hudi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to