Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HUDI-1517] create marker file for every log file #13007

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

lokeshj1703
Copy link
Contributor

@lokeshj1703 lokeshj1703 commented Mar 20, 2025

Change Logs

The PR cherry-picks the commit (which tracks marker file for every log file and handles error scenarios like repeated rollbacks, spurious log files etc.) made for 0.15.0 release and adds it to 1.0 for table version 6 compatibility.
https://github.com/apache/hudi/pull/11187/files#diff-9a401e6d5a736a9601567c006c3e66c1b5da1e8f7670addc366ca72a6db73872

Impact

NA

Risk level (write none, low medium or high below)

low

Documentation Update

NA

Contributor's checklist

  • Read through contributor's guide
  • Change Logs and Impact were stated clearly
  • Adequate tests were added if applicable
  • CI passed

@github-actions github-actions bot added the size:XL PR with lines of changes > 1000 label Mar 20, 2025
@lokeshj1703
Copy link
Contributor Author

Some of the tests in TestHoodieBackedMetadata which were failing in master have been disabled. Created HUDI-9221 to track these test failures.

@hudi-bot
Copy link

CI report:

Bot commands @hudi-bot supports the following commands:
  • @hudi-bot run azure re-run the last Azure build

@@ -754,6 +754,11 @@ public HoodieTestTable withLogMarkerFile(String partitionPath, String fileName)
return this;
}

// public HoodieTestTable withLogMarkerFile(String partitionPath, String fileId, IOType ioType) throws IOException {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why commented out?

@@ -141,7 +141,7 @@ private Map<String, Long> createLogFilesAndMarkersToRollback(String partition,
} catch (IOException e) {
throw new RuntimeException(e);
}
}).collect(Collectors.toMap(Function.identity(), e -> 1L));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why flipping the size here? should we expect the size to be non 0 somewhere down the line and hence we added 1 as length here.

@@ -258,6 +259,7 @@ public void testMetadataTableBootstrap(HoodieTableType tableType, boolean addRol
validateMetadata(testTable, true);
}

@Disabled("HUDI-9221")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we might need to investigate and re-enable these tests.

@@ -100,7 +102,7 @@ protected HoodieWriteConfig getConfigToTestMDTRollbacks(Boolean autoCommit) {
}

protected HoodieWriteConfig getConfigToTestMDTRollbacks(Boolean autoCommit, Boolean mdtEnable) {
return HoodieWriteConfig.newBuilder()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if this entire class is meant for table version 6, can we rename the test class accordingly.

}

/**
* Scenario: data table is updated, no changes to MDT
*/
protected void testRollbackWithFailurePreMDT(HoodieTableType tableType) throws Exception {
initBasePath();
HoodieTableMetaClient metaClient = getHoodieMetaClient(tableType);
TypedProperties props = new TypedProperties();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we add a validation at the end of every test to confirm that table config -> table version is 6.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:XL PR with lines of changes > 1000
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants