public void commit()

in xtable-core/src/main/java/org/apache/xtable/hudi/HudiConversionTarget.java [381:425]


    public void commit() {
      if (schema == null) {
        try {
          // reuse existing table schema if no schema is provided as part of this commit
          schema = new TableSchemaResolver(metaClient).getTableAvroSchema();
        } catch (Exception ex) {
          throw new ReadException("Unable to read Hudi table schema", ex);
        }
      }
      HoodieWriteConfig writeConfig =
          getWriteConfig(
              schema,
              getNumInstantsToRetain(),
              maxNumDeltaCommitsBeforeCompaction,
              timelineRetentionInHours);
      HoodieEngineContext engineContext = new HoodieJavaEngineContext(metaClient.getHadoopConf());
      try (HoodieJavaWriteClient<?> writeClient =
          new HoodieJavaWriteClient<>(engineContext, writeConfig)) {
        writeClient.startCommitWithTime(instantTime, HoodieTimeline.REPLACE_COMMIT_ACTION);
        metaClient
            .getActiveTimeline()
            .transitionReplaceRequestedToInflight(
                new HoodieInstant(
                    HoodieInstant.State.REQUESTED,
                    HoodieTimeline.REPLACE_COMMIT_ACTION,
                    instantTime),
                Option.empty());
        writeClient.commit(
            instantTime,
            writeStatuses,
            getExtraMetadata(),
            HoodieTimeline.REPLACE_COMMIT_ACTION,
            partitionToReplacedFileIds);
        // if the metaclient was created before the table's first commit, we need to reload it to
        // pick up the metadata table context
        if (!metaClient.getTableConfig().isMetadataTableAvailable()) {
          metaClient = HoodieTableMetaClient.reload(metaClient);
        }
        HoodieJavaTable<?> table =
            HoodieJavaTable.create(writeClient.getConfig(), engineContext, metaClient);
        // clean up old commits and archive them
        markInstantsAsCleaned(table, writeClient.getConfig(), engineContext);
        runArchiver(table, writeClient.getConfig(), engineContext);
      }
    }