This is an automated email from the ASF dual-hosted git repository.
vinish pushed a change to branch PolicySync-RFC
in repository https://gitbox.apache.org/repos/asf/incubator-xtable.git
omit 9a8de262 Add RFC for XCatalogSync - Synchronize access control
policies across catalogs
add 2e71e156 [590] Changes in xtable-core for Hudi Catalog Sync
add 67946b98 Update conversion sources
add b3e03e55 [40] Add commit-level metadata and source-target id mapping
add f194f4cb [590] Add Hudi HMS Catalog Sync Implementation
add 03e5b022 [590] Add Hudi Glue Catalog Sync Implementation
add dc209962 Add change proposal for conversion of deletion vectors
add c76692b8 Add base representation of storage files
add fc1ba78a Fix flaky test, ignore order of elements in list validation
add 546edaa3 Add continous sync mode for utilities bundle, add additional
testing
add 50e51814 minor fixes recommended from static analysis tooling
add 23d870ed Modified incremental safe check which does not depend on
snapshots list order Co-authored-by: Timothy Brown <[email protected]>
add dafe24a8 Add support for bucket partition transform, ignore void
partition in iceberg source
add 680cf9c1 Handle timestamp_ntz in delta and iceberg
add ffe898a5 fix docker file syntax issue
add 5f25adc8 Refactor RunSync Class for Improved Modularity and Reusability
add e1b27c7a Add how-to docs for catalog sync
add 3a5ea728 add mailing list for discussions, update issues list
add c2a22803 move to commit mailing list, issues does not exist
add ada055bf Add RFC for XCatalogSync - Synchronize access control
policies across catalogs
add 4ba474ed Update models in RFC
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (9a8de262)
\
N -- N -- N refs/heads/PolicySync-RFC (4ba474ed)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 1 +
Dockerfile | 2 +-
README.md | 2 +-
pom.xml | 4 +-
rfc/rfc-2/2 - Deletion Info Conversion.md | 227 +++++++++
rfc/rfc-4/rfc4.md | 33 +-
website/README.md | 4 +
website/docs/features-and-limitations.md | 8 +
website/docs/how-to-catalog-sync.md | 205 ++++++++
website/docs/how-to.md | 4 +-
website/sidebars.js | 3 +-
.../org/apache/xtable/model/InternalSnapshot.java | 3 +
.../java/org/apache/xtable/model/TableChange.java | 8 +-
.../xtable/model/metadata/TableSyncMetadata.java | 22 +-
.../model/schema/InternalPartitionField.java | 4 +
.../apache/xtable/model/schema/InternalType.java | 14 +-
.../model/schema/PartitionTransformType.java | 3 +-
.../org/apache/xtable/model/storage/FilesDiff.java | 6 +-
.../xtable/model/storage/InternalDataFile.java | 19 +-
.../apache/xtable/model/storage/InternalFile.java | 56 +++
.../{DataFilesDiff.java => InternalFilesDiff.java} | 38 +-
.../xtable/model/storage/PartitionFileGroup.java | 12 +-
.../xtable/spi/extractor/ConversionSource.java | 14 +
.../apache/xtable/spi/sync/ConversionTarget.java | 16 +-
.../apache/xtable/spi/sync/TableFormatSync.java | 23 +-
.../model/metadata/TestTableSyncMetadata.java | 20 +-
.../xtable/model/storage/TestDataFilesDiff.java | 8 +-
.../apache/xtable/model/storage/TestFilesDiff.java | 2 +-
.../spi/extractor/TestExtractFromSource.java | 20 +-
.../xtable/spi/sync/TestTableFormatSync.java | 170 +++++--
xtable-aws/pom.xml | 8 +
.../org/apache/xtable/glue/GlueCatalogConfig.java | 11 +
.../xtable/glue/GlueCatalogConversionSource.java | 22 +-
.../glue/GlueCatalogPartitionSyncOperations.java | 331 +++++++++++++
.../apache/xtable/glue/GlueCatalogSyncClient.java | 38 +-
.../glue/GlueCatalogTableBuilderFactory.java | 5 +-
.../apache/xtable/glue/GlueCatalogTableUtils.java | 56 +++
.../apache/xtable/glue/GlueSchemaExtractor.java | 2 +-
.../glue/table/HudiGlueCatalogTableBuilder.java | 185 ++++++++
.../xtable/glue/GlueCatalogSyncTestBase.java | 7 +
.../TestGlueCatalogPartitionSyncOperations.java | 519 +++++++++++++++++++++
.../xtable/glue/TestGlueCatalogSyncClient.java | 87 +++-
.../table/TestHudiGlueCatalogTableBuilder.java | 125 +++++
xtable-core/pom.xml | 6 +
.../apache/xtable/avro/AvroSchemaConverter.java | 24 +-
.../apache/xtable/catalog/CatalogPartition.java | 31 +-
.../xtable/catalog/CatalogPartitionEvent.java | 49 ++
.../catalog/CatalogPartitionSyncOperations.java | 99 ++++
...eBuilder.java => CatalogPartitionSyncTool.java} | 20 +-
.../org/apache/xtable/catalog/CatalogUtils.java | 31 ++
.../xtable/conversion/ConversionController.java | 9 +-
.../apache/xtable/delta/DeltaConversionSource.java | 18 +-
.../apache/xtable/delta/DeltaConversionTarget.java | 88 +++-
.../delta/DeltaDataFileUpdatesExtractor.java | 19 +-
.../xtable/delta/DeltaPartitionExtractor.java | 37 +-
.../apache/xtable/delta/DeltaSchemaExtractor.java | 111 +----
.../xtable/exception/CatalogSyncException.java | 4 +
.../xtable/hudi/BaseFileUpdatesExtractor.java | 17 +-
.../apache/xtable/hudi/HudiConversionSource.java | 7 +
.../apache/xtable/hudi/HudiConversionTarget.java | 76 +--
.../apache/xtable/hudi/HudiDataFileExtractor.java | 6 +-
.../apache/xtable/hudi/HudiFileStatsExtractor.java | 39 +-
.../org/apache/xtable/hudi/HudiTableManager.java | 12 +-
.../hudi/catalog/HudiCatalogPartitionSyncTool.java | 471 +++++++++++++++++++
.../HudiCatalogTablePropertiesExtractor.java | 148 ++++++
.../xtable/hudi/catalog/HudiInputFormatUtils.java | 112 +++++
.../xtable/iceberg/IcebergConversionSource.java | 56 ++-
.../xtable/iceberg/IcebergConversionTarget.java | 45 +-
.../xtable/iceberg/IcebergDataFileUpdatesSync.java | 40 +-
.../iceberg/IcebergPartitionSpecExtractor.java | 36 +-
.../iceberg/IcebergPartitionValueConverter.java | 13 +-
.../xtable/iceberg/IcebergSchemaExtractor.java | 3 +-
.../apache/xtable/schema/SparkSchemaExtractor.java | 134 ++++++
.../org/apache/xtable/ITConversionController.java | 58 +++
.../java/org/apache/xtable/TestIcebergTable.java | 14 +-
.../org/apache/xtable/ValidationTestHelper.java | 8 +-
.../xtable/avro/TestAvroSchemaConverter.java | 4 +-
.../conversion/TestConversionController.java | 59 ++-
.../xtable/delta/ITDeltaConversionSource.java | 2 +-
.../xtable/delta/TestDeltaPartitionExtractor.java | 37 ++
.../xtable/delta/TestDeltaSchemaExtractor.java | 127 +----
.../org/apache/xtable/delta/TestDeltaSync.java | 139 +++++-
.../apache/xtable/hudi/ITHudiConversionTarget.java | 174 ++++++-
.../xtable/hudi/TestBaseFileUpdatesExtractor.java | 19 +-
.../xtable/hudi/TestHudiConversionTarget.java | 7 +-
.../catalog/TestHudiCatalogPartitionSyncTool.java | 323 +++++++++++++
.../TestHudiCatalogTablePropertiesExtractor.java | 182 ++++++++
.../hudi/catalog/TestHudiInputFormatUtils.java | 118 +++++
.../xtable/iceberg/ITIcebergConversionSource.java | 41 +-
.../iceberg/TestIcebergConversionSource.java | 4 +-
.../xtable/iceberg/TestIcebergDataHelper.java | 9 +-
.../iceberg/TestIcebergPartitionSpecExtractor.java | 126 +++--
.../TestIcebergPartitionValueConverter.java | 25 +
.../xtable/iceberg/TestIcebergSchemaExtractor.java | 12 +-
.../org/apache/xtable/iceberg/TestIcebergSync.java | 123 ++++-
.../TestSparkSchemaExtractor.java} | 262 ++---------
.../org/apache/xtable/testutil/ITTestUtils.java | 2 +
xtable-hive-metastore/pom.xml | 8 +
.../org/apache/xtable/hms/HMSCatalogConfig.java | 11 +
.../hms/HMSCatalogPartitionSyncOperations.java | 221 +++++++++
.../apache/xtable/hms/HMSCatalogSyncClient.java | 22 +-
.../xtable/hms/HMSCatalogTableBuilderFactory.java | 7 +-
.../hms/table/HudiHMSCatalogTableBuilder.java | 185 ++++++++
...ntTestBase.java => HMSCatalogSyncTestBase.java} | 10 +-
.../hms/TestHMSCatalogPartitionSyncOperations.java | 470 +++++++++++++++++++
.../xtable/hms/TestHMSCatalogSyncClient.java | 95 ++--
.../hms/TestHMSCatalogTableBuilderFactory.java | 8 +-
.../hms/table/TestDeltaHMSCatalogTableBuilder.java | 4 +-
.../hms/table/TestHudiHMSCatalogTableBuilder.java | 107 +++++
.../table/TestIcebergHMSCatalogTableBuilder.java | 4 +-
.../apache/xtable/utilities/RunCatalogSync.java | 34 +-
.../java/org/apache/xtable/utilities/RunSync.java | 259 +++++++---
.../main/resources/xtable-conversion-defaults.yaml | 1 +
.../org/apache/xtable/utilities/ITRunSync.java | 128 +++++
.../org/apache/xtable/utilities/TestRunSync.java | 37 +-
.../src/test/resources/catalogConfig.yaml | 1 +
.../src/test/resources/my_config.yaml | 13 +-
117 files changed, 6552 insertions(+), 1056 deletions(-)
create mode 100644 rfc/rfc-2/2 - Deletion Info Conversion.md
create mode 100644 website/docs/how-to-catalog-sync.md
create mode 100644
xtable-api/src/main/java/org/apache/xtable/model/storage/InternalFile.java
rename
xtable-api/src/main/java/org/apache/xtable/model/storage/{DataFilesDiff.java =>
InternalFilesDiff.java} (62%)
create mode 100644
xtable-aws/src/main/java/org/apache/xtable/glue/GlueCatalogPartitionSyncOperations.java
create mode 100644
xtable-aws/src/main/java/org/apache/xtable/glue/GlueCatalogTableUtils.java
create mode 100644
xtable-aws/src/main/java/org/apache/xtable/glue/table/HudiGlueCatalogTableBuilder.java
create mode 100644
xtable-aws/src/test/java/org/apache/xtable/glue/TestGlueCatalogPartitionSyncOperations.java
create mode 100644
xtable-aws/src/test/java/org/apache/xtable/glue/table/TestHudiGlueCatalogTableBuilder.java
copy
xtable-api/src/main/java/org/apache/xtable/model/storage/DataLayoutStrategy.java
=> xtable-core/src/main/java/org/apache/xtable/catalog/CatalogPartition.java
(52%)
create mode 100644
xtable-core/src/main/java/org/apache/xtable/catalog/CatalogPartitionEvent.java
create mode 100644
xtable-core/src/main/java/org/apache/xtable/catalog/CatalogPartitionSyncOperations.java
copy
xtable-core/src/main/java/org/apache/xtable/catalog/{CatalogTableBuilder.java
=> CatalogPartitionSyncTool.java} (54%)
create mode 100644
xtable-core/src/main/java/org/apache/xtable/hudi/catalog/HudiCatalogPartitionSyncTool.java
create mode 100644
xtable-core/src/main/java/org/apache/xtable/hudi/catalog/HudiCatalogTablePropertiesExtractor.java
create mode 100644
xtable-core/src/main/java/org/apache/xtable/hudi/catalog/HudiInputFormatUtils.java
create mode 100644
xtable-core/src/main/java/org/apache/xtable/schema/SparkSchemaExtractor.java
create mode 100644
xtable-core/src/test/java/org/apache/xtable/hudi/catalog/TestHudiCatalogPartitionSyncTool.java
create mode 100644
xtable-core/src/test/java/org/apache/xtable/hudi/catalog/TestHudiCatalogTablePropertiesExtractor.java
create mode 100644
xtable-core/src/test/java/org/apache/xtable/hudi/catalog/TestHudiInputFormatUtils.java
copy
xtable-core/src/test/java/org/apache/xtable/{delta/TestDeltaSchemaExtractor.java
=> schema/TestSparkSchemaExtractor.java} (73%)
create mode 100644
xtable-hive-metastore/src/main/java/org/apache/xtable/hms/HMSCatalogPartitionSyncOperations.java
create mode 100644
xtable-hive-metastore/src/main/java/org/apache/xtable/hms/table/HudiHMSCatalogTableBuilder.java
rename
xtable-hive-metastore/src/test/java/org/apache/xtable/hms/{HMSCatalogSyncClientTestBase.java
=> HMSCatalogSyncTestBase.java} (95%)
create mode 100644
xtable-hive-metastore/src/test/java/org/apache/xtable/hms/TestHMSCatalogPartitionSyncOperations.java
create mode 100644
xtable-hive-metastore/src/test/java/org/apache/xtable/hms/table/TestHudiHMSCatalogTableBuilder.java
create mode 100644
xtable-utilities/src/test/java/org/apache/xtable/utilities/ITRunSync.java
copy demo/presto/catalog/hive.properties =>
xtable-utilities/src/test/resources/my_config.yaml (77%)