[HUDI-2488][HUDI-3175] Implement async metadata indexing (#4693)
- Add a new action called INDEX, whose state transition is described in the RFC. - Changes in timeline to support the new action. - Add an index planner in ScheduleIndexActionExecutor. - Add index plan executor in RunIndexActionExecutor. - Add 3 APIs in HoodieTableMetadataWriter; a) scheduleIndex: will generate an index plan based on latest completed instant, initialize file groups and add a requested INDEX instant, b) index: executes the index plan and also takes care of writes that happened after indexing was requested, c) dropIndex: will drop index by removing the given metadata partition. - Add 2 new table configs to serve as the source of truth for inflight and completed indexes. - Support upgrade/downgrade taking care of the newly added configs. - Add tool to trigger indexing in HoodieIndexer. - Handle corner cases related to partial failures. - Abort gracefully after deleting partition and instant. - Handle other actions in timeline to consider before catching up
This commit is contained in:
@@ -90,6 +90,9 @@
|
||||
<import>${basedir}/src/main/avro/HoodieClusteringPlan.avsc</import>
|
||||
<import>${basedir}/src/main/avro/HoodieRequestedReplaceMetadata.avsc</import>
|
||||
<import>${basedir}/src/main/avro/HoodieMetadata.avsc</import>
|
||||
<import>${basedir}/src/main/avro/HoodieIndexPartitionInfo.avsc</import>
|
||||
<import>${basedir}/src/main/avro/HoodieIndexPlan.avsc</import>
|
||||
<import>${basedir}/src/main/avro/HoodieIndexCommitMetadata.avsc</import>
|
||||
<import>${basedir}/src/main/avro/HoodieArchivedMetaEntry.avsc</import>
|
||||
</imports>
|
||||
</configuration>
|
||||
|
||||
Reference in New Issue
Block a user