sivabalan narayanan created HUDI-7478:
-----------------------------------------

             Summary: Fix max delta commits guard check w/ MDT 
                 Key: HUDI-7478
                 URL: https://issues.apache.org/jira/browse/HUDI-7478
             Project: Apache Hudi
          Issue Type: Bug
          Components: metadata
            Reporter: sivabalan narayanan


protected static void checkNumDeltaCommits(HoodieTableMetaClient metaClient, 
int maxNumDeltaCommitsWhenPending) \{
    final HoodieActiveTimeline activeTimeline = 
metaClient.reloadActiveTimeline();
    Option<HoodieInstant> lastCompaction = 
activeTimeline.filterCompletedInstants()
        .filter(s -> s.getAction().equals(COMPACTION_ACTION)).lastInstant();
    int numDeltaCommits = lastCompaction.isPresent()
        ? 
activeTimeline.getDeltaCommitTimeline().findInstantsAfter(lastCompaction.get().getTimestamp()).countInstants()
        : activeTimeline.getDeltaCommitTimeline().countInstants();
    if (numDeltaCommits > maxNumDeltaCommitsWhenPending) {
      throw new HoodieMetadataException(String.format("Metadata table's 
deltacommits exceeded %d: "
              + "this is likely caused by a pending instant in the data table. 
Resolve the pending instant "
              + "or adjust `%s`, then restart the pipeline.",
          maxNumDeltaCommitsWhenPending, 
HoodieMetadataConfig.METADATA_MAX_NUM_DELTACOMMITS_WHEN_PENDING.key()));
    }
  } 






Here we account for action type "compaction. But compaction completed instant 
will have "commit" as action. So, we need to fix it. 

 

 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to