This is an automated email from the ASF dual-hosted git repository.
diqiu50 pushed a change to branch glue-pr04
in repository https://gitbox.apache.org/repos/asf/gravitino.git
omit 7fb23043d9 fix(catalog-glue): rename test methods to camelCase per
project convention
omit 7290b412fb feat(catalog-glue): implement schema/table CRUD, partition
support, and exception mapping
omit 233d0ce155 fix(catalog-glue): use @EnabledIfEnvironmentVariable to
control AWS tests
omit 6d49fea0ce fix(catalog-glue): reject TIMESTAMP WITH TIME ZONE in
GlueTypeConverter
omit 2a53fe1dc8 Revert "add aws.glue test dependency" - unused
omit 1050879d5e fix(catalog-glue): address PR review comments for
GlueSchema and GlueTable
omit 4a97ce5a64 [MINOR] fix(catalog-glue): use static import for Locale.ROOT
omit 8a25e727d5 feat(catalog-glue): add GlueSchema and GlueTable model
classes with tests
omit 633619d024 refactor(catalog-glue): Address review comments
omit 8dd1fcb02e fix(catalog-glue): Address yuqi1129 review comments
omit b7adbfe034 [MINOR] fix(catalog-glue): address comprehensive PR review
findings
omit 8cb6ec5799 [MINOR] feat(catalog-glue): PR-02 — GlueClientProvider +
properties metadata
add a6a980c921 [#10705] improvement(build): add switch to enable web-ui in
configuration and gradlew build parameter (#10706)
add b1d6ac15b8 [#9535] doc(security): add function privilege design
(#10735)
add 1af9a3a553 [#10514] feat(helm): Add OCI registry publishing workflow
and update chart documentation (#10515)
add cde9c8341a [MINOR] build: Add license headers (#10797)
add 1483b6826e [MINOR] docs: update MAINTAINERS information (#10798)
add 277a622c49 [MINOR] chore: Modify ASF collaborators (#10792)
add 12d878fadf [#10766] fix(iceberg): skip table import for staged creates
in IcebergTableHookDispatcher (#10767)
add f17e5755c3 [#8616] Improvement(client-python): Add
MetadataObjectRoleOperations (#10761)
add d2268ac15d [MINOR] fix(mcp-server): URL-encode path segments in MCP
REST client (#10799)
add 5daabcd0e8 [MINOR] fix(catalog): block H2 JDBC URL and driver in
catalog datasource creation (#10801)
add 214a771f3c [#10588] doc(view): add design doc for view management
(#10724)
add 732967d652 [#10570] improvement(iceberg): lazy initialize catalog
resources in wrapper (#10787)
add c4259fccdc [#10559] feat(trino-connector): Forward Trino session
credentials to Gravitino server (#10730)
add 2ae82cb26e [MINOR] fix: Add license header (#10824)
add 24d40ee041 [#10570][followup] feat(iceberg): Skip the authorization
for the remote REST catalog (#10704)
add aa1586b422 [#10633][followup] fix(docker): Hadoop UGI failure by
adding non-root user to /etc/passwd (#10817)
add 19959a5eb0 [#10571] Improvement(client-python): Implement SupportsTags
related methods (#10670)
add d448cb1683 [#10737] fix(core): Avoid blocking dropCatalog on imported
schemas (#10738)
add 614302ceca [#10839] feat(server): Add health check endpoints
(liveness, readiness, aggregate) (#10840)
add 3e2443d0cf [#9535] docs(function-privilege): document function
privileges (#10820)
add 217b76e25a [#9535] feat(api): introduce FUNCTION metadata object type
and function privileges (#10811)
add 75deae2b10 [#10846] fix(server): Add /health.html alias for legacy GTM
standards (#10847)
add 3c27e320aa [#10780] feat(catalog-glue): Add GlueSchema and GlueTable
model classes with tests (#10781)
add edc8a89b35 [MINOR] feat(catalog-glue): PR-02 — GlueClientProvider +
properties metadata
add 3dc8ade469 [MINOR] fix(catalog-glue): address comprehensive PR review
findings
add d1e9eb89c9 fix(catalog-glue): Address yuqi1129 review comments
add 92fb994fd4 refactor(catalog-glue): Address review comments
add 5f8dfa5d79 feat(catalog-glue): add GlueSchema and GlueTable model
classes with tests
add 3e87cf8c97 [MINOR] fix(catalog-glue): use static import for Locale.ROOT
add 31cbebecda fix(catalog-glue): address PR review comments for
GlueSchema and GlueTable
add 28922943d3 Revert "add aws.glue test dependency" - unused
add 0e336f26b7 fix(catalog-glue): reject TIMESTAMP WITH TIME ZONE in
GlueTypeConverter
add 46d35eb4d7 fix(catalog-glue): use @EnabledIfEnvironmentVariable to
control AWS tests
add 238b8361ac feat(catalog-glue): implement schema/table CRUD, partition
support, and exception mapping
add fb2ba58d6e fix(catalog-glue): rename test methods to camelCase per
project convention
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 (7fb23043d9)
\
N -- N -- N refs/heads/glue-pr04 (fb2ba58d6e)
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 | 3 +-
.../workflows/access-control-integration-test.yml | 8 +-
.../workflows/backend-integration-test-action.yml | 4 +-
.github/workflows/build.yml | 12 +-
.github/workflows/chart-release.yaml | 88 ++
.github/workflows/cron-integration-test.yml | 4 +-
.../workflows/flink-integration-test-action.yml | 8 +-
.github/workflows/gvfs-fuse-build-test.yml | 5 +-
.../maintenance-integration-test-action.yml | 6 +-
.github/workflows/python-integration-test.yml | 4 +-
.../workflows/spark-integration-test-action.yml | 10 +-
.github/workflows/trino-integration-test.yml | 2 +-
.github/workflows/trino-multi-version-test.yml | 2 +-
MAINTAINERS.md | 2 +-
README.md | 6 +
.../java/org/apache/gravitino/MetadataObject.java | 4 +-
.../java/org/apache/gravitino/MetadataObjects.java | 4 +-
.../apache/gravitino/authorization/Privilege.java | 8 +-
.../apache/gravitino/authorization/Privileges.java | 119 ++-
.../gravitino/authorization/SecurableObjects.java | 16 +
.../org/apache/gravitino/TestMetadataObjects.java | 43 +
.../authorization/TestSecurableObjects.java | 37 +
build.gradle.kts | 64 +-
.../lakehouse/iceberg/IcebergConstants.java | 1 +
.../catalog/jdbc/utils/DataSourceUtils.java | 11 +
.../jdbc/utils/TestDataSourceUrlValidation.java | 63 ++
.../gravitino/client/base_schema_catalog.py | 54 +-
.../gravitino/client/generic_column.py | 33 +-
.../gravitino/client/generic_fileset.py | 26 +-
.../gravitino/client/generic_model.py | 46 +-
.../gravitino/client/generic_model_catalog.py | 8 +-
.../gravitino/client/generic_schema.py | 93 ++
.../client/metadata_object_role_operations.py | 62 ++
.../client/metadata_object_tag_operations.py | 131 +++
.../gravitino/client/relational_table.py | 35 +-
clients/client-python/gravitino/dto/model_dto.py | 28 +-
.../dto/requests/tag_associate_request.py | 71 ++
.../name_list_response.py} | 35 +-
clients/client-python/gravitino/dto/schema_dto.py | 30 +-
clients/client-python/gravitino/exceptions/base.py | 20 +
...{tag_error_handler.py => role_error_handler.py} | 43 +-
.../client/test_metadata_object_role_operations.py | 121 +++
.../client/test_metadata_object_tag_operations.py | 188 ++++
.../dto/requests/test_tags_associate_request.py | 61 ++
.../unittests/dto/responses/test_responses.py | 35 +-
clients/client-python/tests/unittests/mock_base.py | 66 ++
.../tests/unittests/test_generic_column.py | 32 +
.../tests/unittests/test_generic_model.py | 70 ++
.../tests/unittests/test_generic_schema.py | 70 ++
.../tests/unittests/test_relational_table.py | 22 +
.../org/apache/gravitino/dto/HealthCheckDTO.java | 70 ++
.../gravitino/dto/responses/HealthResponse.java | 82 ++
.../org/apache/gravitino/utils/JdbcUrlUtils.java | 1 -
conf/gravitino.conf.template | 2 +
.../apache/gravitino/catalog/CatalogManager.java | 36 +-
.../gravitino/catalog/TestCatalogManager.java | 163 +++
design-docs/gravitino-function-privilege.md | 162 +++
design-docs/gravitino-logical-view-management.md | 1111 ++++++++++++++++++++
.../gravitino-iceberg-rest-server/Chart.yaml | 3 +-
dev/charts/gravitino-iceberg-rest-server/README.md | 33 +
.../artifacthub-repo.yml | 8 +-
dev/charts/gravitino-lance-rest-server/Chart.yaml | 3 +-
dev/charts/gravitino-lance-rest-server/README.md | 43 +
.../artifacthub-repo.yml | 8 +-
.../templates/service.yaml | 2 +-
.../templates/tests/test-connection.yaml | 2 +-
dev/charts/gravitino/Chart.yaml | 10 +-
dev/charts/gravitino/README.md | 33 +
.../charts/gravitino/artifacthub-repo.yml | 8 +-
dev/docker/gravitino/Dockerfile | 3 +-
dev/docker/iceberg-rest-server/Dockerfile | 3 +-
docs/chart.md | 65 +-
docs/how-to-build.md | 6 +
docs/iceberg-rest-catalog-chart.md | 56 +-
docs/iceberg-rest-service.md | 21 +-
docs/lance-rest-server-chart.md | 56 +-
docs/open-api/health.yaml | 174 +++
docs/open-api/openapi.yaml | 9 +
docs/open-api/roles.yaml | 5 +
docs/security/access-control.md | 22 +-
docs/trino-connector/authentication.md | 28 +-
.../gravitino/iceberg/common/IcebergConfig.java | 9 +
.../iceberg/common/ops/IcebergCatalogWrapper.java | 161 ++-
.../iceberg/common/TestIcebergConfig.java | 9 +
.../common/ops/TestIcebergCatalogWrapper.java | 143 +++
.../org/apache/gravitino/iceberg/RESTService.java | 8 +-
.../iceberg/service/CatalogWrapperForREST.java | 40 +-
.../service/IcebergCatalogWrapperManager.java | 2 +-
.../authorization/IcebergRESTServerContext.java | 9 +
.../dispatcher/IcebergTableHookDispatcher.java | 39 +-
...BaseMetadataAuthorizationMethodInterceptor.java | 15 +-
...bergMetadataAuthorizationMethodInterceptor.java | 31 +-
.../iceberg/service/TestCatalogWrapperForREST.java | 36 +
.../TestIcebergCatalogWrapperManagerForREST.java | 6 +-
.../iceberg/service/TestIcebergRESTUtils.java | 2 +-
.../dispatcher/TestIcebergTableHookDispatcher.java | 71 +-
.../provider/TestDynamicIcebergConfigProvider.java | 3 +-
.../service/rest/CatalogWrapperForTest.java | 2 +-
.../iceberg/service/rest/IcebergRestTestUtil.java | 3 +-
...bergMetadataAuthorizationMethodInterceptor.java | 230 +++-
.../init/trino/config/catalog/gravitino.properties | 2 +
.../plain/plain_rest_client_catalog_operation.py | 7 +-
.../plain/plain_rest_client_fileset_operation.py | 17 +-
.../plain/plain_rest_client_job_operation.py | 28 +-
.../plain/plain_rest_client_model_operation.py | 30 +-
.../plain/plain_rest_client_policy_operation.py | 25 +-
.../plain/plain_rest_client_schema_operation.py | 8 +-
.../plain/plain_rest_client_statistic_operation.py | 21 +-
.../plain/plain_rest_client_table_operation.py | 14 +-
.../plain/plain_rest_client_tag_operation.py | 25 +-
.../plain/plain_rest_client_topic_operation.py | 10 +-
mcp-server/mcp_server/client/plain/utils.py | 6 +
.../tests/unit/client}/__init__.py | 0
mcp-server/tests/unit/client/test_url_encoding.py | 384 +++++++
.../org/apache/gravitino/server/ServerConfig.java | 9 +
.../authentication/AuthenticationFilter.java | 24 +
.../apache/gravitino/server/web/JettyServer.java | 111 +-
.../authentication/TestAuthenticationFilter.java | 61 ++
.../apache/gravitino/server/GravitinoServer.java | 17 +-
.../gravitino/server/web/HealthAliasServlet.java | 52 +
.../server/web/rest/HealthOperations.java | 244 +++++
.../server/web/TestHealthAliasServlet.java | 67 ++
.../server/web/rest/TestHealthOperations.java | 149 +++
.../integration/test/TrinoQueryTestTool.java | 26 +
.../trino-test-tools/trino_integration_test.sh | 61 +-
.../gravitino/trino/connector/GravitinoConfig.java | 55 +
.../trino/connector/GravitinoConnector.java | 113 +-
.../trino/connector/GravitinoMetadata.java | 1 -
.../connector/catalog/CatalogConnectorContext.java | 52 +-
.../connector/catalog/CatalogConnectorManager.java | 11 +-
.../GravitinoAuthProvider.java | 151 ++-
.../TestGravitinoConnectorForwardUser.java | 118 +++
.../TestGravitinoConnectorNullChecks.java | 11 +
.../TestGravitinoAuthProvider.java | 64 +-
web-v2/integration-test/build.gradle.kts | 5 +-
web/integration-test/build.gradle.kts | 5 +-
136 files changed, 6520 insertions(+), 425 deletions(-)
create mode 100644 .github/workflows/chart-release.yaml
create mode 100644 clients/client-python/gravitino/client/generic_schema.py
create mode 100644
clients/client-python/gravitino/client/metadata_object_role_operations.py
create mode 100644
clients/client-python/gravitino/client/metadata_object_tag_operations.py
create mode 100644
clients/client-python/gravitino/dto/requests/tag_associate_request.py
copy clients/client-python/gravitino/dto/{requests/tag_create_request.py =>
responses/name_list_response.py} (60%)
copy clients/client-python/gravitino/exceptions/handlers/{tag_error_handler.py
=> role_error_handler.py} (59%)
create mode 100644
clients/client-python/tests/unittests/client/test_metadata_object_role_operations.py
create mode 100644
clients/client-python/tests/unittests/client/test_metadata_object_tag_operations.py
create mode 100644
clients/client-python/tests/unittests/dto/requests/test_tags_associate_request.py
create mode 100644 clients/client-python/tests/unittests/test_generic_model.py
create mode 100644 clients/client-python/tests/unittests/test_generic_schema.py
create mode 100644
common/src/main/java/org/apache/gravitino/dto/HealthCheckDTO.java
create mode 100644
common/src/main/java/org/apache/gravitino/dto/responses/HealthResponse.java
create mode 100644 design-docs/gravitino-function-privilege.md
create mode 100644 design-docs/gravitino-logical-view-management.md
create mode 100644 dev/charts/gravitino-iceberg-rest-server/README.md
copy
bundles/aliyun/src/main/resources/META-INF/services/org.apache.gravitino.credential.CredentialProvider
=> dev/charts/gravitino-iceberg-rest-server/artifacthub-repo.yml (76%)
create mode 100644 dev/charts/gravitino-lance-rest-server/README.md
copy
bundles/aliyun/src/main/resources/META-INF/services/org.apache.gravitino.credential.CredentialProvider
=> dev/charts/gravitino-lance-rest-server/artifacthub-repo.yml (76%)
create mode 100644 dev/charts/gravitino/README.md
copy
bundles/aliyun/src/main/resources/META-INF/services/org.apache.gravitino.credential.CredentialProvider
=> dev/charts/gravitino/artifacthub-repo.yml (76%)
create mode 100644 docs/open-api/health.yaml
create mode 100644
iceberg/iceberg-common/src/test/java/org/apache/gravitino/iceberg/common/ops/TestIcebergCatalogWrapper.java
copy {clients/client-python/gravitino/api =>
mcp-server/tests/unit/client}/__init__.py (100%)
create mode 100644 mcp-server/tests/unit/client/test_url_encoding.py
create mode 100644
server/src/main/java/org/apache/gravitino/server/web/HealthAliasServlet.java
create mode 100644
server/src/main/java/org/apache/gravitino/server/web/rest/HealthOperations.java
create mode 100644
server/src/test/java/org/apache/gravitino/server/web/TestHealthAliasServlet.java
create mode 100644
server/src/test/java/org/apache/gravitino/server/web/rest/TestHealthOperations.java
rename
trino-connector/trino-connector/src/main/java/org/apache/gravitino/trino/connector/{catalog
=> security}/GravitinoAuthProvider.java (59%)
create mode 100644
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/TestGravitinoConnectorForwardUser.java
rename
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/{catalog
=> security}/TestGravitinoAuthProvider.java (71%)