This is an automated email from the ASF dual-hosted git repository.
yuqi1129 pushed a change to branch branch-cache-improvement
in repository https://gitbox.apache.org/repos/asf/gravitino.git
from 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 64cb57422a [#10659] fix(core): Correctly handle tag rename conflict in
TagManager (#10661)
add d6de18f474 [#10759] test(client-python): add unit tests for
GenericFileset tag operations (#10760)
add 6177bd0550 [#10841] fix(iceberg): Fix the issues of the table plan
endpoint (#10842)
add a22daa0680 [#10844] fix(hive): close HiveClientFactory on pool
shutdown (#10854)
add 3d353c5ae4 [#10830] feat(api): add View, ViewCatalog, ViewChange and
SQLRepresentation APIs (#10831)
add 584890d261 [#10411] feat(core): Extend metadata object owner to
support group (#10848)
add 317d2cae5e [#10835] improvement(CI): Do not ignore changes in
markdown files to avoid possible RAT problem (#10836)
add 233359d503 [#10218] Improvement(server): Fix misleading success log
when metalake drop returns false (#10813)
add 954eb5814d [#10837] fix(web-v2): Preserve hidden properties when
editing a catalog (#10838)
add 2646f8da7a [#10790] improvement(clients/python): Add client-side
credential caching to avoid redundant REST calls (#10791)
add f4d61784c9 [#10851] improvement(iceberg): Change default Iceberg JDBC
schema version to v1 (#10852)
add ba486bf78b [#10412] feat(server-common): Support group ownership in
JcasbinAuthorizer (#10867)
add 1a28d6ff4c [#10478] feat(release): add gravitino-release skill and fix
state-dir path bug (#10479)
add 3fccbb9420 [#10862] improvement(ci): Pre-install JDK 24 to stabilize
Trino connector build (#10863)
add 24d987cbfb [#10700] test(core): close leaked EntityStore lifecycle for
GC flaky test (#10857)
add cfd45ea743 [#10859] feat(view): add relational scripts for view
metadata storage (#10860)
add c3f9721773 [#8609] feat(client-python): add supports statistics
(#8692)
add 5ac8593a99 [#10695] feat(cache): Introduce Gravitino Cache Improvement
Design document outlining new caching strategies and architecture (#10696)
add c962017ec8 [#9535] feat(core): support FUNCTION entity for
authorization wiring (#10855)
add af39442bd4 [#10717] fix(trino-connector): Enable multi-metalake
support for Trino 469+ (#10748)
add 3ef3661366 [#9567]test(auth): Add OAuth integration tests (#10549)
add 4969517071 [#9535] feat(server): enforce function privileges on
FunctionOperations (#10882)
add e692475f36 [#10684] feat(iceberg-rest): Support vended credentials on
registerTable endpoint (#10699)
No new revisions were added by this update.
Summary of changes:
.github/actions/setup-java-toolchains/action.yml | 37 +
.github/workflows/build.yml | 16 +-
.github/workflows/cron-integration-test.yml | 5 +-
.github/workflows/frontend-integration-test.yml | 4 +-
.github/workflows/gvfs-fuse-build-test.yml | 4 +-
.github/workflows/trino-integration-test.yml | 4 +-
.github/workflows/trino-multi-version-test.yml | 6 +-
agent-skills/gravitino-release/README.md | 100 ++
agent-skills/gravitino-release/SKILL.md | 626 +++++++++
...eption.java => ViewAlreadyExistsException.java} | 8 +-
.../literals/Literal.java => Dialects.java} | 38 +-
.../DataLayout.java => rel/Representation.java} | 20 +-
.../apache/gravitino/rel/SQLRepresentation.java | 137 ++
.../main/java/org/apache/gravitino/rel/View.java | 82 +-
.../java/org/apache/gravitino/rel/ViewCatalog.java | 87 +-
.../java/org/apache/gravitino/rel/ViewChange.java | 338 +++++
.../org/apache/gravitino/tag/TagOperations.java | 1 +
.../gravitino/rel/TestSQLRepresentation.java | 72 +
.../java/org/apache/gravitino/rel/TestView.java | 155 +++
.../org/apache/gravitino/rel/TestViewChange.java | 126 ++
.../apache/gravitino/catalog/glue/GlueColumn.java | 83 ++
.../gravitino/catalog/glue/GlueConstants.java | 31 +
.../apache/gravitino/catalog/glue/GlueSchema.java | 87 ++
.../apache/gravitino/catalog/glue/GlueTable.java | 216 +++
.../catalog/glue/GlueTablePropertiesMetadata.java | 2 +-
.../gravitino/catalog/glue/GlueTypeConverter.java | 271 ++++
.../catalog/glue/AbstractGlueSchemaTest.java | 116 ++
.../catalog/glue/AbstractGlueTableTest.java | 189 +++
.../gravitino/catalog/glue/TestAwsGlueSchema.java | 113 ++
.../gravitino/catalog/glue/TestAwsGlueTable.java | 212 +++
.../catalog/glue/TestGlueTypeConverter.java | 236 ++++
.../catalog/glue/TestSyntheticGlueSchema.java} | 25 +-
.../catalog/glue/TestSyntheticGlueTable.java | 90 ++
.../catalog/lakehouse/iceberg/IcebergView.java | 12 +
.../org/apache/gravitino/hive/HiveClientPool.java | 19 +
.../apache/gravitino/hive/TestHiveClientPool.java | 1 +
clients/client-java/build.gradle.kts | 1 +
.../apache/gravitino/client/GravitinoClient.java | 2 +-
.../apache/gravitino/client/GravitinoMetalake.java | 2 +-
.../authorization/FunctionAuthorizationIT.java | 294 ++++
.../test/authorization/JwksTokenValidatorIT.java | 201 +++
.../integration/test/authorization/OwnerIT.java | 10 +-
.../test/authorization/TopicAuthorizationIT.java | 16 +-
.../gravitino/api/{ => stats}/__init__.py | 0
.../client-python/gravitino/api/stats/statistic.py | 74 +
.../supports_roles.py => stats/statistic_value.py} | 29 +-
.../gravitino/api/stats/supports_statistics.py | 74 +
.../gravitino/api/tag/tag_operations.py | 2 +
.../gravitino/client/gravitino_client.py | 2 +
.../gravitino/client/gravitino_metalake.py | 2 +
clients/client-python/gravitino/exceptions/base.py | 8 +
.../gravitino/filesystem/gvfs_base_operations.py | 102 +-
.../api => tests/unittests/api/stats}/__init__.py | 0
.../tests/unittests/api/stats/test_statistic.py | 87 ++
.../unittests/api/stats/test_statistic_value.py | 47 +
.../api/stats/test_supports_statistics.py | 114 ++
.../tests/unittests/test_gvfs_credential_cache.py | 349 +++++
.../client-python/tests/unittests/test_tag_api.py | 122 ++
.../java/org/apache/gravitino/GravitinoEnv.java | 9 +-
.../gravitino/authorization/OwnerManager.java | 41 +-
.../gravitino/catalog/EntityCombinedView.java | 22 +
.../gravitino/catalog/ViewOperationDispatcher.java | 4 +-
.../gravitino/hook/FunctionHookDispatcher.java | 105 ++
.../apache/gravitino/hook/TagHookDispatcher.java | 4 +-
.../gravitino/listener/TagEventDispatcher.java | 4 +-
.../RelationalEntityStoreIdResolver.java | 13 +
.../relational/mapper/FunctionMetaMapper.java | 16 +
.../mapper/FunctionMetaSQLProviderFactory.java | 10 +
.../provider/base/FunctionMetaBaseSQLProvider.java | 23 +
.../provider/base/OwnerMetaBaseSQLProvider.java | 11 +
.../base/SecurableObjectBaseSQLProvider.java | 11 +
.../postgresql/OwnerMetaPostgreSQLProvider.java | 11 +
.../SecurableObjectPostgreSQLProvider.java | 11 +
.../relational/service/FunctionMetaService.java | 33 +-
.../relational/service/MetadataObjectService.java | 53 +
.../org/apache/gravitino/tag/TagDispatcher.java | 3 +
.../java/org/apache/gravitino/tag/TagManager.java | 12 +-
.../apache/gravitino/utils/MetadataObjectUtil.java | 7 +
.../apache/gravitino/utils/NameIdentifierUtil.java | 6 +
.../gravitino/authorization/TestOwnerManager.java | 44 +-
.../catalog/TestViewOperationDispatcher.java | 12 +
.../gravitino/connector/TestCatalogOperations.java | 19 +-
.../gravitino/hook/TestFunctionHookDispatcher.java | 120 ++
.../apache/gravitino/policy/TestPolicyManager.java | 7 +-
.../storage/AbstractEntityStorageTest.java | 17 +-
.../storage/TestEntityStorageRelationCache.java | 414 ++++++
.../storage/relational/TestJDBCBackend.java | 31 +
.../service/TestFunctionMetaService.java | 143 +-
.../service/TestMetadataObjectService.java | 132 ++
.../relational/service/TestOwnerMetaService.java | 74 +-
.../relational/service/TestSecurableObjects.java | 69 +-
.../org/apache/gravitino/tag/TestTagManager.java | 18 +
design-docs/cache-improvement-design.md | 1440 ++++++++++++++++++++
design-docs/gravitino-function-privilege.md | 1 +
dev/release/do-release.sh | 100 +-
dev/release/mock/do-release.sh | 240 ++++
dev/release/mock/publish-docker.sh | 191 +++
dev/release/publish-docker.sh | 39 +
docs/how-to-build.md | 6 +
docs/iceberg-rest-service.md | 30 +-
docs/security/access-control.md | 9 +-
docs/trino-connector/configuration.md | 3 +
.../iceberg/common/utils/IcebergCatalogUtil.java | 3 +
.../common/ops/TestIcebergCatalogWrapper.java | 2 +-
.../common/utils/TestIcebergCatalogUtil.java | 40 +-
.../iceberg/service/CatalogWrapperForREST.java | 22 +-
.../IcebergNamespaceOperationExecutor.java | 2 +-
.../service/rest/IcebergConfigOperations.java | 8 +-
.../service/rest/IcebergNamespaceOperations.java | 14 +-
.../service/rest/IcebergTableOperations.java | 10 +-
.../service/rest/CatalogWrapperForTest.java | 32 +-
.../service/rest/IcebergNamespaceTestBase.java | 12 +
.../iceberg/service/rest/TestIcebergConfig.java | 33 +
.../rest/TestIcebergNamespaceOperations.java | 72 +
.../service/rest/TestIcebergTableOperations.java | 2 +-
integration-test-common/build.gradle.kts | 1 +
.../test/util/JwksMockServerHelper.java | 196 +++
.../{schema-1.2.0-h2.sql => schema-1.3.0-h2.sql} | 23 +
scripts/h2/upgrade-1.2.0-to-1.3.0-h2.sql | 48 +
...hema-1.2.0-mysql.sql => schema-1.3.0-mysql.sql} | 23 +
scripts/mysql/upgrade-1.2.0-to-1.3.0-mysql.sql | 52 +
...-postgresql.sql => schema-1.3.0-postgresql.sql} | 41 +
.../upgrade-1.2.0-to-1.3.0-postgresql.sql | 65 +
.../AuthorizationExpressionConstants.java | 15 +
.../AuthorizationExpressionConverter.java | 22 +-
.../authorization/jcasbin/JcasbinAuthorizer.java | 93 +-
.../jcasbin/TestJcasbinAuthorizer.java | 104 +-
.../server/web/rest/FilesetOperations.java | 8 +-
.../server/web/rest/FunctionOperations.java | 96 +-
.../server/web/rest/MetalakeOperations.java | 8 +-
.../server/web/rest/PartitionOperations.java | 23 +-
.../gravitino/server/web/rest/TableOperations.java | 20 +-
.../gravitino/server/web/rest/TopicOperations.java | 9 +-
settings.gradle.kts | 26 +-
spark-connector/spark-common/build.gradle.kts | 1 +
.../test/authorization/SparkJwksAuthIT.java | 135 ++
.../authorization/SparkJwksAuthorizationIT.java | 289 ++++
...onIT33.java => SparkJwksAuthorizationIT33.java} | 5 +-
.../authorization/SparkJwksAuthorizationIT34.java} | 5 +-
.../authorization/SparkJwksAuthorizationIT35.java} | 5 +-
.../connector/GravitinoConnectorFactory446.java | 2 +-
.../connector/GravitinoConnectorFactory452.java | 5 -
.../connector/GravitinoConnectorFactory469.java | 10 -
.../src/test/java/TestGravitinoConnector469.java | 2 -
.../connector/GravitinoConnectorFactory478.java | 10 -
.../trino/connector/TestGravitinoConnector478.java | 12 +-
.../trino/connector/GravitinoConnectorFactory.java | 10 +-
.../catalogs/rightContent/CreateCatalogDialog.js | 11 +
148 files changed, 9900 insertions(+), 402 deletions(-)
create mode 100644 .github/actions/setup-java-toolchains/action.yml
create mode 100644 agent-skills/gravitino-release/README.md
create mode 100644 agent-skills/gravitino-release/SKILL.md
copy
api/src/main/java/org/apache/gravitino/exceptions/{RoleAlreadyExistsException.java
=> ViewAlreadyExistsException.java} (85%)
copy
api/src/main/java/org/apache/gravitino/rel/{expressions/literals/Literal.java
=> Dialects.java} (52%)
copy api/src/main/java/org/apache/gravitino/{messaging/DataLayout.java =>
rel/Representation.java} (61%)
create mode 100644
api/src/main/java/org/apache/gravitino/rel/SQLRepresentation.java
create mode 100644 api/src/main/java/org/apache/gravitino/rel/ViewChange.java
create mode 100644
api/src/test/java/org/apache/gravitino/rel/TestSQLRepresentation.java
create mode 100644 api/src/test/java/org/apache/gravitino/rel/TestView.java
create mode 100644
api/src/test/java/org/apache/gravitino/rel/TestViewChange.java
create mode 100644
catalogs/catalog-glue/src/main/java/org/apache/gravitino/catalog/glue/GlueColumn.java
create mode 100644
catalogs/catalog-glue/src/main/java/org/apache/gravitino/catalog/glue/GlueSchema.java
create mode 100644
catalogs/catalog-glue/src/main/java/org/apache/gravitino/catalog/glue/GlueTable.java
create mode 100644
catalogs/catalog-glue/src/main/java/org/apache/gravitino/catalog/glue/GlueTypeConverter.java
create mode 100644
catalogs/catalog-glue/src/test/java/org/apache/gravitino/catalog/glue/AbstractGlueSchemaTest.java
create mode 100644
catalogs/catalog-glue/src/test/java/org/apache/gravitino/catalog/glue/AbstractGlueTableTest.java
create mode 100644
catalogs/catalog-glue/src/test/java/org/apache/gravitino/catalog/glue/TestAwsGlueSchema.java
create mode 100644
catalogs/catalog-glue/src/test/java/org/apache/gravitino/catalog/glue/TestAwsGlueTable.java
create mode 100644
catalogs/catalog-glue/src/test/java/org/apache/gravitino/catalog/glue/TestGlueTypeConverter.java
copy
catalogs/catalog-glue/src/{main/java/org/apache/gravitino/catalog/glue/GlueSchemaPropertiesMetadata.java
=> test/java/org/apache/gravitino/catalog/glue/TestSyntheticGlueSchema.java}
(55%)
create mode 100644
catalogs/catalog-glue/src/test/java/org/apache/gravitino/catalog/glue/TestSyntheticGlueTable.java
create mode 100644
clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/authorization/FunctionAuthorizationIT.java
create mode 100644
clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/authorization/JwksTokenValidatorIT.java
copy clients/client-python/gravitino/api/{ => stats}/__init__.py (100%)
create mode 100644 clients/client-python/gravitino/api/stats/statistic.py
copy clients/client-python/gravitino/api/{authorization/supports_roles.py =>
stats/statistic_value.py} (59%)
create mode 100644
clients/client-python/gravitino/api/stats/supports_statistics.py
copy clients/client-python/{gravitino/api =>
tests/unittests/api/stats}/__init__.py (100%)
create mode 100644
clients/client-python/tests/unittests/api/stats/test_statistic.py
create mode 100644
clients/client-python/tests/unittests/api/stats/test_statistic_value.py
create mode 100644
clients/client-python/tests/unittests/api/stats/test_supports_statistics.py
create mode 100644
clients/client-python/tests/unittests/test_gvfs_credential_cache.py
create mode 100644
core/src/main/java/org/apache/gravitino/hook/FunctionHookDispatcher.java
create mode 100644
core/src/test/java/org/apache/gravitino/hook/TestFunctionHookDispatcher.java
create mode 100644 design-docs/cache-improvement-design.md
create mode 100755 dev/release/mock/do-release.sh
create mode 100755 dev/release/mock/publish-docker.sh
create mode 100644
integration-test-common/src/test/java/org/apache/gravitino/integration/test/util/JwksMockServerHelper.java
copy scripts/h2/{schema-1.2.0-h2.sql => schema-1.3.0-h2.sql} (95%)
create mode 100644 scripts/h2/upgrade-1.2.0-to-1.3.0-h2.sql
copy scripts/mysql/{schema-1.2.0-mysql.sql => schema-1.3.0-mysql.sql} (95%)
create mode 100644 scripts/mysql/upgrade-1.2.0-to-1.3.0-mysql.sql
copy scripts/postgresql/{schema-1.2.0-postgresql.sql =>
schema-1.3.0-postgresql.sql} (95%)
create mode 100644 scripts/postgresql/upgrade-1.2.0-to-1.3.0-postgresql.sql
create mode 100644
spark-connector/spark-common/src/test/java/org/apache/gravitino/spark/connector/integration/test/authorization/SparkJwksAuthIT.java
create mode 100644
spark-connector/spark-common/src/test/java/org/apache/gravitino/spark/connector/integration/test/authorization/SparkJwksAuthorizationIT.java
copy
spark-connector/v3.3/spark/src/test/java/org/apache/gravitino/spark/connector/integration/test/authorization/{SparkAuthorizationIT33.java
=> SparkJwksAuthorizationIT33.java} (91%)
copy
spark-connector/{v3.3/spark/src/test/java/org/apache/gravitino/spark/connector/integration/test/authorization/SparkAuthorizationIT33.java
=>
v3.4/spark/src/test/java/org/apache/gravitino/spark/connector/integration/test/authorization/SparkJwksAuthorizationIT34.java}
(91%)
copy
spark-connector/{v3.3/spark/src/test/java/org/apache/gravitino/spark/connector/integration/test/authorization/SparkAuthorizationIT33.java
=>
v3.5/spark/src/test/java/org/apache/gravitino/spark/connector/integration/test/authorization/SparkJwksAuthorizationIT35.java}
(91%)