This is an automated email from the ASF dual-hosted git repository.

yuqi1129 pushed a change to branch issue-10464-iceberg-listener-decouple
in repository https://gitbox.apache.org/repos/asf/gravitino.git


    from a28a57194f improvement(iceberg): decouple listener events from Iceberg 
APIs
     add efe98bb652 [#11232][#11233] improvement(core): Global 
EntityChangeLogPoller with CatalogManager cache invalidation and automatic 
retention cleanup (#11254)
     add ae1a05046c [#10983] test(lance): add Lance compatibility matrix 
automation (#11119)
     add df532dbf03 [#11298] feat(iceberg-rest): add async cleanup manager 
(#11299)
     add b5ea86aa57 [#11337] deps(paimon): Exclude transitive tomcat-embed-core 
from hive-exec (#11338)
     add 9170a770b9 [#11368] fix(docker): Build bundle jars for Docker image 
(#11388)
     add 2311c4be8f [11391] fix(bundles): run FilesetS3CatalogIT hangs on macOS 
(#11393)
     add aef7acaf84 [#11212] test(authz): add CI workflow for multi-instance 
consistency (#11213)
     add 62e135a78f [#11141] improvement(ui):Change the OIDC callback address 
based on NEXT_PUBLIC_BASE and catch error (#11142)
     add 2adfe2321b [#11363] feat(iceberg-rest): wire async cleanup into the 
REST drop flow (#11364)
     add dff496720b Merge origin/main: forward-port asyncPurge to 
iceberg-listener IcebergRequestContext

No new revisions were added by this update.

Summary of changes:
 .../workflows/lance-compatibility-matrix-test.yml  |   96 ++
 .../workflows/multi-instance-consistency-test.yml  |  117 +++
 .../gravitino/s3/fs/S3FileSystemProvider.java      |    3 +-
 .../fileset/TestFilesetCatalogOperations.java      |    6 +
 .../integration/test/FilesetS3CatalogIT.java       |    5 +-
 .../catalog/kafka/TestKafkaCatalogOperations.java  |    6 +
 .../generic/TestGenericCatalogOperations.java      |    6 +
 catalogs/catalog-lakehouse-paimon/build.gradle.kts |    1 +
 .../catalog/model/TestModelCatalogOperations.java  |    6 +
 clients/client-python/build.gradle.kts             |   73 ++
 clients/client-python/requirements-dev.txt         |    8 +
 clients/client-python/requirements-lance.txt       |    8 +-
 .../client-python/scripts/run_lance_ray_matrix.py  |  355 +++++++
 .../tests/integration/test_lance_ray.py            |   41 +-
 .../cache/it/AbstractEntityStorageBenchmark.java   |    6 +
 .../main/java/org/apache/gravitino/Configs.java    |   28 +
 .../java/org/apache/gravitino/GravitinoEnv.java    |    2 +
 .../catalog/CatalogChangeLogListener.java          |  103 ++
 .../apache/gravitino/catalog/CatalogManager.java   |   82 ++
 ...CDatabase.java => EntityChangeLogListener.java} |   15 +-
 .../storage/relational/EntityChangeLogPoller.java  |  248 +++++
 .../storage/relational/RelationalEntityStore.java  |   27 +-
 .../relational/SupportsEntityChangeLog.java        |   50 +
 .../relational/service/CatalogMetaService.java     |    4 +-
 .../authorization/TestAccessControlManager.java    |    6 +
 .../gravitino/authorization/TestOwnerManager.java  |    6 +
 .../gravitino/catalog/TestCatalogManager.java      |  183 ++++
 .../gravitino/hook/TestFilesetHookDispatcher.java  |    6 +
 .../gravitino/hook/TestTableHookDispatcher.java    |    6 +
 .../apache/gravitino/policy/TestPolicyManager.java |    6 +
 .../gravitino/stats/TestStatisticManager.java      |    6 +
 .../storage/AbstractEntityStorageTest.java         |    6 +
 .../relational/TestEntityChangeLogPoller.java      |  242 +++++
 .../service/TestEntityChangeLogService.java        |   31 +-
 .../org/apache/gravitino/tag/TestTagManager.java   |    6 +
 design-docs/async-iceberg-rest-hard-deletion.md    |  253 +++--
 dev/ci/setup_multi_instance.sh                     |  157 +++
 dev/ci/test_multi_instance_consistency.sh          | 1051 ++++++++++++++++++++
 dev/docker/gravitino/gravitino-dependency.sh       |   14 +-
 docs/gravitino-server-config.md                    |    3 +
 docs/iceberg-rest-service.md                       |   20 +
 docs/lance-rest-integration.md                     |   57 +-
 .../iceberg/common/ops/IcebergCatalogWrapper.java  |   32 +
 .../listener/api/event/IcebergRequestContext.java  |   21 +
 .../api/event/TestIcebergRequestContext.java       |   68 ++
 .../org/apache/gravitino/iceberg/RESTService.java  |   31 +-
 .../service/cleanup/IcebergCleanupJobStore.java    |   69 +-
 .../service/cleanup/IcebergCleanupManager.java     |  389 ++++++++
 .../cleanup/mapper/IcebergCleanupJobMapper.java    |    6 +-
 .../IcebergCleanupJobSQLProviderFactory.java       |   10 +-
 .../IcebergCleanupMapperPackageProvider.java       |   12 +-
 .../base/IcebergCleanupJobBaseSQLProvider.java     |   20 +-
 .../service/dispatcher/IcebergCleanupHelper.java   |   79 ++
 .../IcebergNamespaceOperationExecutor.java         |   12 +-
 .../dispatcher/IcebergTableOperationExecutor.java  |   57 +-
 ...elational.mapper.provider.MapperPackageProvider |   19 -
 .../integration/test/IcebergRESTAsyncPurgeIT.java  |  263 +++++
 .../AbstractIcebergCleanupJobStoreBackendTest.java |   46 +-
 .../service/cleanup/TestIcebergCleanupManager.java |  406 ++++++++
 .../service/dispatcher/TestIcebergAsyncPurge.java  |  260 +++++
 .../TestIcebergNamespaceOperationExecutor.java     |    3 +-
 .../TestIcebergTableOperationExecutor.java         |    3 +-
 .../iceberg/service/rest/IcebergRestTestUtil.java  |    8 +-
 lance/lance-rest-server/build.gradle.kts           |  131 ++-
 .../jcasbin/JcasbinAuthorizationLookups.java       |   33 +-
 .../authorization/jcasbin/JcasbinAuthorizer.java   |   24 +-
 ...hangePoller.java => JcasbinChangeListener.java} |   53 +-
 .../jcasbin/TestJcasbinAuthorizationLookups.java   |   40 +-
 .../jcasbin/TestJcasbinChangePoller.java           |   72 +-
 .../TestIcebergCatalogPropertyConverter.java       |    9 +-
 web-v2/web/src/app/login/components/OidcLogin.js   |   19 +-
 web-v2/web/src/lib/auth/providers/oidc.js          |   77 +-
 web-v2/web/src/lib/auth/providers/oidc.test.js     |  262 ++++-
 73 files changed, 5489 insertions(+), 400 deletions(-)
 create mode 100644 .github/workflows/lance-compatibility-matrix-test.yml
 create mode 100644 .github/workflows/multi-instance-consistency-test.yml
 create mode 100644 clients/client-python/scripts/run_lance_ray_matrix.py
 create mode 100644 
core/src/main/java/org/apache/gravitino/catalog/CatalogChangeLogListener.java
 copy 
core/src/main/java/org/apache/gravitino/storage/relational/{JDBCDatabase.java 
=> EntityChangeLogListener.java} (68%)
 create mode 100644 
core/src/main/java/org/apache/gravitino/storage/relational/EntityChangeLogPoller.java
 create mode 100644 
core/src/main/java/org/apache/gravitino/storage/relational/SupportsEntityChangeLog.java
 create mode 100644 
core/src/test/java/org/apache/gravitino/storage/relational/TestEntityChangeLogPoller.java
 create mode 100755 dev/ci/setup_multi_instance.sh
 create mode 100755 dev/ci/test_multi_instance_consistency.sh
 create mode 100644 
iceberg/iceberg-listener/src/test/java/org/apache/gravitino/listener/api/event/TestIcebergRequestContext.java
 create mode 100644 
iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/cleanup/IcebergCleanupManager.java
 create mode 100644 
iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergCleanupHelper.java
 delete mode 100644 
iceberg/iceberg-rest-server/src/main/resources/META-INF/services/org.apache.gravitino.storage.relational.mapper.provider.MapperPackageProvider
 create mode 100644 
iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/integration/test/IcebergRESTAsyncPurgeIT.java
 create mode 100644 
iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/service/cleanup/TestIcebergCleanupManager.java
 create mode 100644 
iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/service/dispatcher/TestIcebergAsyncPurge.java
 rename 
server-common/src/main/java/org/apache/gravitino/server/authorization/jcasbin/{JcasbinChangePoller.java
 => JcasbinChangeListener.java} (86%)

Reply via email to