This is an automated email from the ASF dual-hosted git repository.
diqiu50 pushed a change to branch cherry-pick-5b666b32-to-branch-1.3
in repository https://gitbox.apache.org/repos/asf/gravitino.git
from 993204f120 Merge remote-tracking branch 'gt/branch-1.3' into
cherry-pick-5b666b32-to-branch-1.3
add d1abb38ffc [DO NOT MERGE] [Cherry-pick to branch-1.3] [#12589]
fix(iceberg-catalog): Fix JDBC CommunicationsException after idle timeout for
MySQL backend (#12662) (#12883)
add be348701c1 [Cherry-pick to branch-1.3] [#12729] fix(authz): Authorize
generic view operations (#12797) (#12868)
add 7f64eac08d [Cherry-pick to branch-1.3] [#12834] fix(server): reject
null request bodies in remaining REST operations (#12866) (#12881)
add 510627e380 [Cherry-pick to branch-1.3] [#12685] fix(core): Fix
built-in policy supportedObjectTypes validation and error message (#12686)
(#12882)
add 5f585250d5 [Cherry-pick to branch-1.3] [#12783] fix(server): move
malformed path-param handling to a Jersey ExceptionMapper (#12784) (#12877)
add 1632135815 [Cherry-pick to branch-1.3] [#12552] feat(catalog): support
testing existing catalog connections (#12553) (#12890)
add e1866dd3b9 [Cherry-pick to branch-1.3] [#12887] fix(server): Validate
statistic name length (#12889) (#12894)
add 1a0a5e9c2e [Cherry-pick to branch-1.3] [#12794] feat(catalog): Support
connection tests with proposed changes (#12798) (#12884)
add 8c1e08cebb [Cherry-pick to branch-1.3] [#12885] fix(audit): Include
role names in role assignment logs (#12886) (#12898)
add feb75315cb [Cherry-pick to branch-1.3] [MINOR] fix(ci): Pin
pnpm/action-setup to an ASF-allowlisted SHA (#12899) (#12905)
add 4b6b82db4c Merge branch 'branch-1.3' into
cherry-pick-5b666b32-to-branch-1.3
No new revisions were added by this update.
Summary of changes:
.github/workflows/web-ui-tests.yml | 2 +-
.../org/apache/gravitino/SupportsCatalogs.java | 34 ++
.../java/org/apache/gravitino/stats/Statistic.java | 3 +
bundles/aliyun/build.gradle.kts | 4 +
.../gravitino/oss/fs/TestOSSCredentialVending.java | 86 +++++
bundles/aws/build.gradle.kts | 3 +
.../gravitino/s3/fs/TestS3CredentialVending.java | 101 ++++++
bundles/azure/build.gradle.kts | 4 +
.../abs/fs/TestAzureCredentialVending.java | 86 +++++
bundles/gcp/build.gradle.kts | 4 +
.../gravitino/gcs/fs/TestGCSCredentialVending.java | 64 ++++
.../catalog/fileset/FilesetCatalogImpl.java | 2 +-
.../catalog/fileset/FilesetCatalogOperations.java | 366 ++++++++++++++++++--
.../fileset/TestFilesetCatalogOperations.java | 377 ++++++++++++++++++++-
.../fileset/TestFilesetCredentialProvider.java | 79 +++++
.../TestFilesetSecondCredentialProvider.java | 11 +-
.../integration/test/FilesetABSCatalogIT.java | 1 +
.../fileset/integration/test/FilesetCatalogIT.java | 1 +
.../integration/test/FilesetGCSCatalogIT.java | 1 +
.../integration/test/FilesetOSSCatalogIT.java | 1 +
.../integration/test/FilesetS3CatalogIT.java | 1 +
....apache.gravitino.credential.CredentialProvider | 4 +-
.../catalog/glue/GlueCatalogOperations.java | 12 +-
.../glue/TestGlueCatalogSchemaOperations.java | 16 +
.../integration/test/AbstractGlueCatalogIT.java | 6 +
.../catalog/hive/HiveCatalogOperations.java | 12 +-
.../hive/integration/test/CatalogHive2IT.java | 5 +
.../catalog/jdbc/JdbcCatalogOperations.java | 29 +-
.../catalog/jdbc/TestJdbcCatalogOperations.java | 31 +-
.../doris/integration/test/CatalogDorisIT.java | 5 +
.../mysql/integration/test/CatalogMysqlIT.java | 30 ++
.../integration/test/CatalogPostgreSqlIT.java | 5 +
.../integration/test/CatalogStarRocksIT.java | 5 +
.../catalog/kafka/KafkaCatalogOperations.java | 12 +-
.../catalog/kafka/TestKafkaCatalogOperations.java | 29 ++
.../kafka/integration/test/CatalogKafkaIT.java | 1 +
.../generic/GenericCatalogOperations.java | 10 +-
.../test/CatalogGenericCatalogDeltaIT.java | 6 +
.../generic/TestGenericCatalogOperations.java | 7 +
.../test/CatalogGenericCatalogLanceIT.java | 6 +
.../lakehouse/hudi/HudiCatalogOperations.java | 14 +-
.../hudi/integration/test/HudiCatalogHMSIT.java | 1 +
.../iceberg/IcebergCatalogOperations.java | 12 +-
.../integration/test/CatalogIcebergBaseIT.java | 5 +
.../lakehouse/paimon/PaimonCatalogOperations.java | 5 +
.../integration/test/CatalogPaimonBaseIT.java | 5 +
.../catalog/model/ModelCatalogOperations.java | 11 +-
.../catalog/model/TestModelCatalogOperations.java | 7 +
.../integration/test/ModelCatalogOperationsIT.java | 6 +
.../fs/InMemoryFileSystemCredentialsProvider.java | 86 +++++
.../TestInMemoryFileSystemCredentialsProvider.java | 36 +-
.../org/apache/gravitino/client/ErrorHandlers.java | 3 +
.../apache/gravitino/client/GravitinoClient.java | 17 +
.../apache/gravitino/client/GravitinoMetalake.java | 60 ++++
.../gravitino/client/TestGravitinoAdminClient.java | 49 +++
.../client/integration/test/CatalogIT.java | 14 +
.../integration/test/JsonErrorHandlerIT.java | 97 ++++++
.../gravitino/client/gravitino_client.py | 4 +
.../gravitino/client/gravitino_metalake.py | 40 +++
.../gravitino/dto/responses/error_response.py | 8 +-
.../client-python/tests/unittests/test_metalake.py | 72 ++++
.../java/org/apache/gravitino/GravitinoEnv.java | 10 +-
.../apache/gravitino/catalog/CatalogManager.java | 119 ++++++-
.../catalog/CatalogNormalizeDispatcher.java | 19 ++
.../apache/gravitino/catalog/SupportsCatalogs.java | 19 ++
.../gravitino/connector/CatalogOperations.java | 17 +-
.../gravitino/hook/CatalogHookDispatcher.java | 10 +
.../apache/gravitino/hook/ViewHookDispatcher.java | 134 ++++++++
.../gravitino/listener/CatalogEventDispatcher.java | 14 +-
.../listener/api/event/GrantGroupRolesEvent.java | 7 +
.../api/event/GrantGroupRolesFailureEvent.java | 7 +
.../listener/api/event/GrantUserRolesEvent.java | 7 +
.../api/event/GrantUserRolesFailureEvent.java | 7 +
.../listener/api/event/RevokeGroupRolesEvent.java | 7 +
.../api/event/RevokeGroupRolesFailureEvent.java | 7 +
.../listener/api/event/RevokeUserRolesEvent.java | 7 +
.../api/event/RevokeUserRolesFailureEvent.java | 7 +
...PreEvent.java => RoleAssignmentAuditInfos.java} | 32 +-
.../org/apache/gravitino/policy/PolicyManager.java | 6 +-
.../gravitino/audit/v2/TestSimpleAuditLogV2.java | 16 +
.../gravitino/catalog/TestCatalogManager.java | 145 +++++++-
.../catalog/TestCatalogNormalizeDispatcher.java | 14 +
.../gravitino/hook/TestViewHookDispatcher.java | 164 +++++++++
.../listener/api/event/TestGroupEvent.java | 8 +
.../listener/api/event/TestUserEvent.java | 8 +
.../apache/gravitino/policy/TestPolicyManager.java | 55 +++
design-docs/gravitino-logical-view-management.md | 48 ++-
docs/open-api/catalogs.yaml | 86 ++++-
docs/open-api/openapi.yaml | 3 +
docs/open-api/views.yaml | 17 +-
docs/security/access-control.md | 26 +-
docs/tables-and-views.md | 14 +-
.../iceberg/common/utils/IcebergCatalogUtil.java | 8 +
.../common/utils/TestIcebergCatalogUtil.java | 22 ++
.../server/web/filter/RenameViewAuthzHandler.java | 17 +-
.../TestIcebergViewAuthorizationExpression.java | 3 +
.../AuthorizationExpressionConstants.java | 22 +-
.../apache/gravitino/server/GravitinoServer.java | 4 +
.../web/filter/GravitinoInterceptionService.java | 2 +
...ionMapper.java => NotFoundExceptionMapper.java} | 21 +-
.../server/web/mapper/ParamExceptionMapper.java | 58 ++++
.../server/web/rest/CatalogOperations.java | 58 +++-
.../server/web/rest/ExceptionHandlers.java | 65 ++--
.../web/rest/MetadataObjectPolicyOperations.java | 9 +-
.../web/rest/MetadataObjectTagOperations.java | 8 +
.../server/web/rest/MetalakeOperations.java | 7 +
.../gravitino/server/web/rest/OwnerOperations.java | 8 +
.../server/web/rest/PermissionOperations.java | 56 +++
.../server/web/rest/PolicyOperations.java | 9 +-
.../server/web/rest/StatisticOperations.java | 82 +++--
.../gravitino/server/web/rest/ViewOperations.java | 68 +++-
.../filter/TestGravitinoInterceptionService.java | 65 ++++
...apper.java => TestNotFoundExceptionMapper.java} | 36 +-
.../web/mapper/TestParamExceptionMapper.java | 71 ++++
.../server/web/rest/TestCatalogOperations.java | 186 ++++++++++
.../rest/TestMetadataObjectPolicyOperations.java | 19 +-
.../web/rest/TestMetadataObjectTagOperations.java | 16 +
.../server/web/rest/TestMetalakeOperations.java | 63 ++++
.../server/web/rest/TestOwnerOperations.java | 11 +
.../server/web/rest/TestPermissionOperations.java | 77 +++++
.../server/web/rest/TestPolicyOperations.java | 13 +
.../server/web/rest/TestStatisticOperations.java | 137 +++++++-
.../server/web/rest/TestTagOperations.java | 16 +
.../server/web/rest/TestViewOperations.java | 41 +++
.../TestViewAuthorizationExpression.java | 221 ++++++++++++
125 files changed, 4189 insertions(+), 364 deletions(-)
create mode 100644
bundles/aliyun/src/test/java/org/apache/gravitino/oss/fs/TestOSSCredentialVending.java
create mode 100644
bundles/aws/src/test/java/org/apache/gravitino/s3/fs/TestS3CredentialVending.java
create mode 100644
bundles/azure/src/test/java/org/apache/gravitino/abs/fs/TestAzureCredentialVending.java
create mode 100644
bundles/gcp/src/test/java/org/apache/gravitino/gcs/fs/TestGCSCredentialVending.java
create mode 100644
catalogs/catalog-fileset/src/test/java/org/apache/gravitino/catalog/fileset/TestFilesetCredentialProvider.java
copy
maintenance/updaters/src/main/java/org/apache/gravitino/maintenance/optimizer/updater/metrics/storage/jdbc/H2MetricsDialect.java
=>
catalogs/catalog-fileset/src/test/java/org/apache/gravitino/catalog/fileset/TestFilesetSecondCredentialProvider.java
(71%)
copy {bundles/azure/src/main =>
catalogs/catalog-fileset/src/test}/resources/META-INF/services/org.apache.gravitino.credential.CredentialProvider
(84%)
create mode 100644
catalogs/hadoop-common/src/main/java/org/apache/gravitino/catalog/hadoop/fs/InMemoryFileSystemCredentialsProvider.java
copy
flink-connector/flink-common/src/test/java/org/apache/gravitino/flink/connector/iceberg/TestGravitinoIcebergCatalog.java
=>
catalogs/hadoop-common/src/test/java/org/apache/gravitino/catalog/hadoop/fs/TestInMemoryFileSystemCredentialsProvider.java
(50%)
create mode 100644
clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/JsonErrorHandlerIT.java
create mode 100644
core/src/main/java/org/apache/gravitino/hook/ViewHookDispatcher.java
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{LoadCatalogPreEvent.java
=> RoleAssignmentAuditInfos.java} (58%)
create mode 100644
core/src/test/java/org/apache/gravitino/hook/TestViewHookDispatcher.java
copy
server/src/main/java/org/apache/gravitino/server/web/mapper/{JsonMappingExceptionMapper.java
=> NotFoundExceptionMapper.java} (60%)
create mode 100644
server/src/main/java/org/apache/gravitino/server/web/mapper/ParamExceptionMapper.java
copy
server/src/test/java/org/apache/gravitino/server/web/mapper/{TestJsonMappingExceptionMapper.java
=> TestNotFoundExceptionMapper.java} (51%)
create mode 100644
server/src/test/java/org/apache/gravitino/server/web/mapper/TestParamExceptionMapper.java
create mode 100644
server/src/test/java/org/apache/gravitino/server/web/rest/authorization/TestViewAuthorizationExpression.java