Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,7 @@ protected void runAnyPendingClustering(HoodieTable table) {
protected void writeTableMetadata(HoodieTable table, String instantTime, String actionType, HoodieCommitMetadata metadata) {
checkArgument(table.isTableServiceAction(actionType, instantTime), String.format("Unsupported action: %s.%s is not table service.", actionType, instantTime));
context.setJobStatus(this.getClass().getSimpleName(), "Committing to metadata table: " + config.getTableName());
table.getMetadataWriter(instantTime).ifPresent(w -> ((HoodieTableMetadataWriter) w).update(metadata, instantTime, true));
table.getMetadataWriter(instantTime).ifPresent(w -> ((HoodieTableMetadataWriter) w).update(metadata, instantTime));
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ protected void writeTableMetadata(HoodieTable table, String instantTime, String
tableServiceClient.writeTableMetadata(table, instantTime, actionType, metadata);
} else {
context.setJobStatus(this.getClass().getSimpleName(), "Committing to metadata table: " + config.getTableName());
table.getMetadataWriter(instantTime).ifPresent(w -> ((HoodieTableMetadataWriter) w).update(metadata, instantTime, false));
table.getMetadataWriter(instantTime).ifPresent(w -> ((HoodieTableMetadataWriter) w).update(metadata, instantTime));
}
}

Expand Down Expand Up @@ -1152,17 +1152,15 @@ public HoodieMetrics getMetrics() {
* @param metaClient instance of {@link HoodieTableMetaClient}
* @param instantTime current inflight instant time
*/
protected void doInitTable(HoodieTableMetaClient metaClient, Option<String> instantTime, boolean initialMetadataTableIfNecessary) {
protected void doInitTable(WriteOperationType operationType, HoodieTableMetaClient metaClient, Option<String> instantTime) {
Option<HoodieInstant> ownerInstant = Option.empty();
if (instantTime.isPresent()) {
ownerInstant = Option.of(new HoodieInstant(true, CommitUtils.getCommitActionType(operationType, metaClient.getTableType()), instantTime.get()));
}
this.txnManager.beginTransaction(ownerInstant, Option.empty());
try {
tryUpgrade(metaClient, instantTime);
if (initialMetadataTableIfNecessary) {
initMetadataTable(instantTime);
}
initMetadataTable(instantTime);
} finally {
this.txnManager.endTransaction(ownerInstant);
}
Expand All @@ -1177,6 +1175,11 @@ protected void initMetadataTable(Option<String> instantTime) {
// by default do nothing.
}

// TODO: this method will be removed with restore/rollback changes in MDT
protected final HoodieTable initTable(WriteOperationType operationType, Option<String> instantTime, boolean initMetadataTable) {
return initTable(operationType, instantTime);
}

/**
* Instantiates and initializes instance of {@link HoodieTable}, performing crucial bootstrapping
* operations such as:
Expand All @@ -1190,14 +1193,14 @@ protected void initMetadataTable(Option<String> instantTime) {
* <li>Initializing metrics contexts</li>
* </ul>
*/
protected final HoodieTable initTable(WriteOperationType operationType, Option<String> instantTime, boolean initialMetadataTableIfNecessary) {
public final HoodieTable initTable(WriteOperationType operationType, Option<String> instantTime) {
HoodieTableMetaClient metaClient = createMetaClient(true);
// Setup write schemas for deletes
if (operationType == WriteOperationType.DELETE) {
setWriteSchemaForDeletes(metaClient);
}

doInitTable(metaClient, instantTime, initialMetadataTableIfNecessary);
doInitTable(operationType, metaClient, instantTime);
HoodieTable table = createTable(config, hadoopConf, metaClient);

// Validate table properties
Expand Down Expand Up @@ -1225,10 +1228,6 @@ protected final HoodieTable initTable(WriteOperationType operationType, Option<S
return table;
}

protected final HoodieTable initTable(WriteOperationType operationType, Option<String> instantTime) {
return initTable(operationType, instantTime, config.isMetadataTableEnabled());
}

/**
* Sets write schema from last instant since deletes may not have schema set in the config.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,7 @@ private Stream<HoodieInstant> getInstantsToArchive() throws IOException {

// If metadata table is enabled, do not archive instants which are more recent than the last compaction on the
// metadata table.
if (config.isMetadataTableEnabled()) {
if (table.getMetaClient().getTableConfig().isMetadataTableEnabled()) {
try (HoodieTableMetadata tableMetadata = HoodieTableMetadata.create(table.getContext(), config.getMetadataConfig(),
config.getBasePath(), FileSystemViewStorageConfig.SPILLABLE_DIR.defaultValue())) {
Option<String> latestCompactionTime = tableMetadata.getLatestCompactionTime();
Expand Down
Loading