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

   ### Change Logs
   
   The PR fixes the compatibility issues related to table version 6 with 1.0 
binary. Below are the issues which were found by running the tests below with 
table version 6:
   
   ```
   spark-client module tests:
   TestHoodieSparkCopyOnWriteTableArchiveWithReplace
   TestHoodieSparkCopyOnWriteTableRollback
   TestHoodieSparkMergeOnReadTableCompaction
   TestHoodieSparkMergeOnReadTableIncrementalRead
   TestHoodieSparkMergeOnReadTableInsertUpdateDelete
   TestHoodieSparkMergeOnReadTableRollback
   TestHoodieSparkRollback
   TestHoodieMergeOnReadTable
   TestCleanerInsertAndCleanByCommits
   
   spark scala tests:
   TestRecordLevelIndex
   TestHoodieSparkSqlWriter
   TestCOWDataSource
   TestCOWDataSourceStorage
   TestMORDataSource
   TestMORDataSourceStorage
   TestMORDataSourceWithBucketIndex
   TestSparkDataSource
   TestSparkSqlCoreFlow
   TestStreamingSource
   TestStructuredStreaming
   TestTimeTravelQuery
   ```
   
   Issues
   1.  For table version 6, AbstractHoodieLogRecordScanner ignores the log 
blocks which belong to inflight instants while scanning. PR fixes the logic so 
that such log blocks are not ignored. This is required for updating RLI which 
reads the deleted records from data table
   2. hoodie.file.group.reader.enabled needs to be disabled in tbl version 6
   3. The new rollback logic filters log files using the deltacommit timestamp 
and then marks them for deletion. This does not work for tbl version 6 since 
log files do not have deltacommit timestamp in the name. Therefore older 
rollback logic was brought back here.
   4. PR removes the validation while scheduling compaction which validates 
that compaction instant should be greater than all completed deltacommit 
instants. This validation was added for table version 6 but is not really 
required.
   5. KEY_GENERATOR_CLASS_NAME and KEY_GENERATOR_TYPE are new configs which are 
required in tbl version 6 as well. PR makes a change so that these configs are 
not ignored.
   6. MarkerBasedRollbackStrategy#createRollbackRequestForCreateAndMerge 
removes validation that log file should not have IOType as CREATE in table 
version 6. CREATE is still used for log files with tbl version 6 in 
LogFileCreationCallback#preFileCreation
   7. hoodie.datasource.read.incr.fallback.fulltablescan.enable needs to be 
disabled for tbl version 6
   
   ### Impact
   
   Adds changes to fix issues related to compatibility with table version 6
   
   ### Risk level (write none, low medium or high below)
   
   low
   
   ### Documentation Update
   
   NA
   
   ### 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: [email protected]

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

Reply via email to