This is an automated email from the ASF dual-hosted git repository. roryqi pushed a change to branch ISSUE-6353 in repository https://gitbox.apache.org/repos/asf/gravitino.git
from a1097d315e fix style new 3f37985a2d [#5194] feat(flink): Support basic table DDL Operation for paimon-catalog (#6224) new 8aacd390de [#6237]fix: add missing @override annotations (#6244) new d3ccbe9b44 [#6245] fix(authz): Authorization should use classloader to create the plugin (#6246) new f8bb7ad316 [#6243] fix(docs): Fix wrong seperator of yaml example in flink-connector.md (#6259) new 4a864c69c1 [MINOR] fix(docs): Fix several document errors (#6251) new 828e282d1e [#6239] fix: No need for toString() on string (CLI) (#6247) new d06bfc3b77 [#5570] improve(CLI): Add the ability to revoke all roles or groups in the Gravitino CLI. (#6240) new 7da2e4d35f [#6249] fix(docs): Fix incorrect description about configuration `endpoint` in s3 catalog (#6265) new 69c89b0557 [MINOR] docs: correct credential vending document (#6248) new 8be87f3033 [#6275] fix: incorrect logger class in IcebergMetricsManager (#6287) new 661f3233be [#6273] improve(CLI): Fix TableFormat properties. (#6286) new 97adf25987 [#6242] improve(CLI): Add tag support to Models in Gravtitino CLI. (#6284) new abbfceb778 [MINOR] fix(dos): Fix minor error about spelling and web link (#6290) new 5bc247f05f [#3515] feat(flink-connector): Support flink iceberg catalog (#5914) new 670daf0958 [#6272] fix: Remove the unnecessary null checks (#6282) new be12f33a0d [#6218] docs: Adding Documentation for GravitinoPaimonCatalog in Flink Connectors (#6266) new bea7b1c268 [#6196] feat(iceberg): adjust table distribution if creating table without specifying disribution mode (#6214) new ff0cb9fd39 [#6277] improve(CLI): Fix AreYouSure Scanner should close. (#6285) new d5d173110e [#6304] fix: upgrade actions/upload-artifact to v4 (#6305) new fb9cfe815a [#6278] improve(CLI): Revoke all privileges from a role via the Gravitino CLI. (#6293) new 67816312ad [#6309] fix(flink): remove paimon package from GravitinoPaimonCatalogFactory (#6313) new d37d82bb45 [#6306] fix(authz): Fix the OOM of JdbcAuthorizationPlugin (#6312) new 65ef9a39a7 [#6307] feat(flink): remove log4j from Gravitino Flink connector (#6308) new be8dc04fd9 [MINOR] docs: Polish Gravitino Flink connector document (#6315) new f65e5e9331 [#6300] fix(workflow): add an flag to control whether update docker latest tag. (#6318) new 6b89e17132 [MINOR] docs(flink): fix flink paimon document (#6323) new 000b021321 [Minor] Optionals should not be set to null (#6276) new b81770a198 [#6267] minor: Support jumping to the PR page and Issue page from IDE (#6269) (#6269) new 151a8696dc [MINOR] docs: Add paimon spark connector doc (#6328) new 7ba42f6a56 [#6235] fix(authz): fix PathBasedMetadataObject toString method (#6252) new 5bcf666bd2 [MINOR] docs: add Spark Paimon catalog to Spark connector index page (#6339) new 11a48e5882 [Minor] Remove unneeded eq's from tests (#6241) new 2e7d3506d8 [#6335] fix(python-client): Fix pypi document link error (#6342) new 102a9de0bf [MINOR] fix(open-api): fix wrong catalog type values (#6348) new d95c8c5986 [#6349] fix(core,hive-catalog): Fix bugs in AuthorizationUtils and remove protobuf-java from catalog hive (#6351) new 03e3563cd1 [#6222]feat(tag): Add tag support for model (#6228) new d6717ded70 Use loader for chained plugin The 37 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../workflows/access-control-integration-test.yml | 2 +- .../workflows/backend-integration-test-action.yml | 2 +- .github/workflows/build.yml | 4 +- .github/workflows/cron-integration-test.yml | 2 +- .github/workflows/docker-image.yml | 27 +- .../workflows/flink-integration-test-action.yml | 2 +- .github/workflows/frontend-integration-test.yml | 2 +- .github/workflows/gvfs-fuse-build-test.yml | 2 +- .github/workflows/python-integration-test.yml | 2 +- .../workflows/spark-integration-test-action.yml | 2 +- .github/workflows/trino-integration-test.yml | 2 +- .gitignore | 1 + .../java/org/apache/gravitino/MetadataObjects.java | 1 + .../chain/ChainedAuthorizationPlugin.java | 7 +- .../common/PathBasedMetadataObject.java | 11 +- .../jdbc/JdbcAuthorizationPlugin.java | 13 +- .../common/TestPathBasedMetadataObject.java | 27 ++ .../jdbc/TestJdbcAuthorizationPlugin.java | 30 +- .../ranger/RangerClientExtension.java | 2 + .../authorization/ranger/reference/VXGroup.java | 1 + .../authorization/ranger/reference/VXUser.java | 1 + catalogs/catalog-hive/build.gradle.kts | 2 + .../operation/OceanBaseTableOperations.java | 1 + .../iceberg/IcebergCatalogOperations.java | 18 ++ .../catalog/lakehouse/iceberg/IcebergTable.java | 36 +-- .../integration/test/CatalogIcebergBaseIT.java | 80 +++++- .../java/org/apache/gravitino/cli/AreYouSure.java | 16 +- .../java/org/apache/gravitino/cli/FullName.java | 14 + .../org/apache/gravitino/cli/GravitinoOptions.java | 2 +- .../apache/gravitino/cli/GroupCommandHandler.java | 17 +- .../apache/gravitino/cli/RoleCommandHandler.java | 18 +- .../apache/gravitino/cli/TestableCommandLine.java | 12 + .../apache/gravitino/cli/UserCommandHandler.java | 19 +- .../gravitino/cli/commands/AllMetalakeDetails.java | 2 +- .../gravitino/cli/commands/GroupDetails.java | 2 +- .../apache/gravitino/cli/commands/ListAllTags.java | 2 +- .../apache/gravitino/cli/commands/ListColumns.java | 2 +- .../gravitino/cli/commands/ListEntityTags.java | 44 ++- .../gravitino/cli/commands/ListFilesets.java | 2 +- .../apache/gravitino/cli/commands/ListGroups.java | 2 +- .../gravitino/cli/commands/ListProperties.java | 2 +- .../apache/gravitino/cli/commands/ListRoles.java | 2 +- .../apache/gravitino/cli/commands/ListSchema.java | 2 +- .../apache/gravitino/cli/commands/ListTables.java | 2 +- .../apache/gravitino/cli/commands/ListUsers.java | 4 +- .../gravitino/cli/commands/OwnerDetails.java | 2 +- .../gravitino/cli/commands/RemoveAllRoles.java | 98 +++++++ .../cli/commands/RemoveRoleFromGroup.java | 4 +- .../cli/commands/RevokeAllPrivileges.java | 129 +++++++++ .../cli/commands/RevokePrivilegesFromRole.java | 12 +- .../apache/gravitino/cli/commands/TagEntity.java | 51 +++- .../apache/gravitino/cli/commands/UntagEntity.java | 53 +++- .../apache/gravitino/cli/commands/UserDetails.java | 2 +- .../apache/gravitino/cli/outputs/TableFormat.java | 8 +- .../apache/gravitino/cli/utils/FullNameUtil.java | 79 ++++++ clients/cli/src/main/resources/group_help.txt | 6 + clients/cli/src/main/resources/role_help.txt | 3 + clients/cli/src/main/resources/user_help.txt | 5 + .../{TestPrivileges.java => TestAreYouSure.java} | 40 +-- .../org/apache/gravitino/cli/TestFullNameUtil.java | 80 ++++++ .../org/apache/gravitino/cli/TestFulllName.java | 36 +++ .../apache/gravitino/cli/TestGroupCommands.java | 27 ++ .../apache/gravitino/cli/TestModelCommands.java | 48 +--- .../apache/gravitino/cli/TestOwnerCommands.java | 26 +- .../org/apache/gravitino/cli/TestRoleCommands.java | 69 ++++- .../org/apache/gravitino/cli/TestUserCommands.java | 22 ++ .../org/apache/gravitino/client/GenericModel.java | 42 ++- .../gravitino/client/GenericModelCatalog.java | 4 +- .../gravitino/client/integration/test/TagIT.java | 113 ++++++++ clients/client-python/build.gradle.kts | 4 +- .../authorization/AuthorizationUtils.java | 5 +- .../apache/gravitino/connector/BaseCatalog.java | 9 +- .../credential/CatalogCredentialContext.java | 2 +- .../gravitino/credential/CredentialCacheKey.java | 2 +- .../credential/PathBasedCredentialContext.java | 2 +- .../gravitino/hook/MetalakeHookDispatcher.java | 1 + .../listener/api/event/CreateTablePreEvent.java | 1 + .../postgresql/CatalogMetaPostgreSQLProvider.java | 1 + .../postgresql/MetalakeMetaPostgreSQLProvider.java | 1 + .../SecurableObjectPostgreSQLProvider.java | 1 + .../postgresql/TagMetaPostgreSQLProvider.java | 1 + .../authorization/TestAuthorizationUtils.java | 37 +++ docs/assets/publish-docker-image.jpg | Bin 539255 -> 0 bytes docs/assets/publish-docker-image.png | Bin 0 -> 94355 bytes docs/cli.md | 18 ++ docs/flink-connector/flink-catalog-hive.md | 2 +- docs/flink-connector/flink-catalog-iceberg.md | 79 ++++++ docs/flink-connector/flink-catalog-paimon.md | 108 ++++++++ docs/flink-connector/flink-connector.md | 10 +- docs/hadoop-catalog-with-gcs.md | 2 +- docs/hadoop-catalog-with-oss.md | 5 +- docs/hadoop-catalog-with-s3.md | 29 +- docs/hadoop-catalog.md | 4 +- docs/hive-catalog-with-cloud-storage.md | 11 +- docs/lakehouse-iceberg-catalog.md | 75 +---- docs/manage-tags-in-gravitino.md | 8 +- docs/open-api/catalogs.yaml | 3 +- docs/open-api/tags.yaml | 4 +- docs/publish-docker-images.md | 5 +- docs/security/credential-vending.md | 20 +- docs/spark-connector/spark-catalog-paimon.md | 87 ++++++ docs/spark-connector/spark-connector.md | 2 +- flink-connector/flink-runtime/build.gradle.kts | 8 + flink-connector/flink/build.gradle.kts | 14 +- .../flink/connector/catalog/BaseCatalog.java | 4 +- .../connector/catalog/GravitinoCatalogManager.java | 11 - .../GravitinoIcebergCatalog.java} | 39 +-- .../GravitinoIcebergCatalogFactory.java} | 45 ++- .../GravitinoIcebergCatalogFactoryOptions.java} | 19 +- .../iceberg/IcebergPropertiesConstants.java | 49 ++++ .../iceberg/IcebergPropertiesConverter.java | 84 ++++++ .../connector/paimon/GravitinoPaimonCatalog.java | 35 ++- .../paimon/GravitinoPaimonCatalogFactory.java | 11 +- .../GravitinoPaimonCatalogFactoryOptions.java | 9 + .../org.apache.flink.table.factories.Factory | 3 +- .../iceberg/TestIcebergPropertiesConverter.java | 82 ++++++ .../connector/integration/test/FlinkCommonIT.java | 62 +++-- .../connector/integration/test/FlinkEnvIT.java | 43 ++- .../integration/test/hive/FlinkHiveCatalogIT.java | 21 +- .../FlinkIcebergCatalogIT.java} | 304 ++++++++------------- .../test/iceberg/FlinkIcebergHiveCatalogIT.java | 12 +- .../test/paimon/FlinkPaimonCatalogIT.java | 21 +- .../integration/test/utils/TestUtils.java | 3 +- .../common/utils/IcebergHiveCachedClientPool.java | 2 +- .../service/metrics/IcebergMetricsManager.java | 3 +- 125 files changed, 2154 insertions(+), 674 deletions(-) create mode 100644 clients/cli/src/main/java/org/apache/gravitino/cli/commands/RemoveAllRoles.java create mode 100644 clients/cli/src/main/java/org/apache/gravitino/cli/commands/RevokeAllPrivileges.java create mode 100644 clients/cli/src/main/java/org/apache/gravitino/cli/utils/FullNameUtil.java copy clients/cli/src/test/java/org/apache/gravitino/cli/{TestPrivileges.java => TestAreYouSure.java} (50%) create mode 100644 clients/cli/src/test/java/org/apache/gravitino/cli/TestFullNameUtil.java delete mode 100644 docs/assets/publish-docker-image.jpg create mode 100644 docs/assets/publish-docker-image.png create mode 100644 docs/flink-connector/flink-catalog-iceberg.md create mode 100644 docs/flink-connector/flink-catalog-paimon.md create mode 100644 docs/spark-connector/spark-catalog-paimon.md copy flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/{hive/GravitinoHiveCatalog.java => iceberg/GravitinoIcebergCatalog.java} (67%) copy flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/{paimon/GravitinoPaimonCatalogFactory.java => iceberg/GravitinoIcebergCatalogFactory.java} (67%) copy flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/{hive/GravitinoHiveCatalogFactoryOptions.java => iceberg/GravitinoIcebergCatalogFactoryOptions.java} (62%) create mode 100644 flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/iceberg/IcebergPropertiesConstants.java create mode 100644 flink-connector/flink/src/main/java/org/apache/gravitino/flink/connector/iceberg/IcebergPropertiesConverter.java create mode 100644 flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/iceberg/TestIcebergPropertiesConverter.java copy flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/{hive/FlinkHiveCatalogIT.java => iceberg/FlinkIcebergCatalogIT.java} (63%) copy spark-connector/spark-common/src/test/java/org/apache/gravitino/spark/connector/integration/test/iceberg/SparkIcebergCatalogHiveBackendIT.java => flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/iceberg/FlinkIcebergHiveCatalogIT.java (84%)