This is an automated email from the ASF dual-hosted git repository.
yuqi1129 pushed a change to branch docs/treelock-design
in repository https://gitbox.apache.org/repos/asf/gravitino.git
from 29115a12a3 [#12156] docs: Add TreeLock necessity and concurrency
design doc
add b464820eb0 [#11844] feat(tag): Support tags for views and functions
(#11897)
add f5948f872b [#11985] fix(openapi): drop stray OpenAPI 3.1 null token
from statistics value (#11987)
add 61ee16ae63 [#11980] fix(core): sort column ordinal positions while
fetching from entity store (#11979)
add fe44f02ecf [#11976] fix(core): refresh built-in job template when
content drifts even if version is unchanged (#11978)
add c2c1b8a672 [#11955] feat(iceberg): native geometry and geography type
support for Iceberg V3 (#11958)
add cf289fb759 [#11590] fix(doris): fix partition parsing for Doris 3.0+
format (#11732)
add 9fbed05f36 [MINOR] fix: polish log and error message quality across
Java modules (#10387)
add 7ba1da7166 [#11962] feat(iceberg): support V3 nanosecond timestamp
types (#11938)
add e71af9ca98 [#11902] feat(client-java): Support tags for views and
functions (#11903)
add 40ab9a58f2 [#11983] test(iceberg): add end-to-end coverage for
round-trip of remaining V2 column types (#11984)
add 425112e554 [MINOR] docs: update Doris catalog documentation for
3.0.x/4.0.x compatibility (#11995)
add 69ef06b81b [#11951] feat(iceberg): map V3 unknown type to Gravitino
NullType (#11969)
add 438da702f1 [#12009] improvement(core): Support custom case sensitivity
normalization in Capability (#12010)
add 771c5e22cd [#11966] feat(auth): add X-Gravitino-Active-Roles header
grammar and parser (#11970)
add 8d6591d9f0 [#11946] improvement(api): Add properties field to
TableChange.AddIndex for custom index parameters (#12013)
add e5fe677dab [#11963] fix(cli): support parsing the variant column type
(#11964)
add 4ff7aac259 [#12014] fix(core): Don't wrap plain ClassNotFoundException
in IsolatedClassLoader (#12015)
add 4059726b7f [#5820] test(client-python): Improve IT server lifecycle
(#11977)
add b473bfd98f [MINOR] chore: Add nevzheng as GitHub triage collaborator
(#12028)
add 41cb729b6e [#3767] refactor(client-python): Share metalake operation
test fixtures (#11993)
add f229b4c427 build(deps): bump cachetools from 7.0.1 to 7.1.4 in
/clients/client-python (#11868)
add ece6c4168b build(deps): update fakeredis requirement from <2.35.0 to
<2.37.0 in /mcp-server (#11866)
add 1f5cee0770 [#3767] refactor(client-python): Share table test fixtures
(#11992)
add 64009ee93c [MINOR] fix(web-v2): Normalize service admins configuration
(#12046)
add 11c39c2d2a [#3767] refactor(client-python): Share metalake integration
test setup (#12005)
add d4190675a0 [#12037] improvement(authz): Improve the JCasbin checks
(#12001)
add 4074abf914 [#11985] fix(openapi): repair three codegen-breaking
defects invisible to lint (#11988)
add c10925adb7 [#12039] feat(client-python): Add view API definitions
(#12040)
add 840fe67f55 Web UI support for built-in IdP Basic login (#11812)
add 40f9cb4323 [MINOR] fix(web-v2): Remove stale twc prefix from toast
(#11950)
add 5863632372 [MINOR] test(client-python): Fix API unit test discovery
(#12041)
add 849aa37c71 [#11985] fix(openapi): restore the ExternalType variant to
DataType (#11991)
add 988bbe0438 [#11985] fix(openapi): clear the remaining non-lineage
recommended-strict findings (#11990)
add b30e457318 [#11985] fix(openapi): correct the OpenLineage translation
in the lineage schemas (#11989)
add da99abcc36 [#11943] improvement(iceberg,core): validate warehouse at
catalog creation and fail fast with an actionable error (#11959)
add 6842f00b74 [MINOR] improvement(cache): Add logs for Caffeine cache
removals (#12043)
add c60b82cc63 [#12038] improvement(scripts): increase relational store
column comment length limit to 4096 (#12047)
add a03467c5e5 [#11967] feat(auth): narrow allow enforcement to active
roles (deny stays global) (#12044)
add fc88ddc8d4 [#12035] improvement(catalog-jdbc): block DBCP2
class-loading properties in datasource config (#12036)
add e675c0465c [#12091] improvement(ci): Route contrib catalog tests to
contrib CI (#12092)
add b49d895eaf [MINOR] improvement(authz): Add debug logging for
list-authorization short-circuit (#12101)
add 23f871f805 [#11802] fix(clickhouse): support user-defined GRANULARITY
and validate shard key type (#11806)
add 648fdd7c1a [#12089] improvement(client-python): Implement client-side
view models (#12090)
add 394e0c6a99 build(deps-dev): bump coverage from 7.13.4 to 7.14.3 in
/clients/client-python (#11872)
add 65d305fdaa [#12097] improvement(core): Validate names before
normalizing in CapabilityHelpers (#12098)
add d9c9237410 [#10093] feat(core): Introduce ClassLoaderPool to share
ClassLoaders across same-type catalogs (#10480)
add afbd958c45 [MINOR] fix(jdbc): Quote comments in generated DDL (#12007)
add 5fe2959078 [#11923] docs(core): add multi-node entity store cache
invalidation design (#11738)
add b0aaac4b9a [#12106] improvement(common): gate Kerberos login-module
debug on sun.security.krb5.debug (#12107)
add 941f030f3e [#12116] improvement(client-python): Add view create/drop
operations (#12117)
add f8d7523b0d [#12095] feat(auth): parse X-Gravitino-Active-Roles into
the request path (#12096)
add 1249341afd [#12102] feat(jdbc-doris): Support frequently-used table
properties (#12103)
add 5810e779ea Merge branch 'main' into docs/treelock-design
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 1 +
.../workflows/backend-integration-test-action.yml | 20 +-
.github/workflows/backend-integration-test.yml | 33 --
.github/workflows/build.yml | 3 +
.github/workflows/contrib-catalog-test.yml | 132 +++++++
.../org/apache/gravitino/function/Function.java | 9 +
.../java/org/apache/gravitino/rel/TableChange.java | 53 ++-
.../main/java/org/apache/gravitino/rel/View.java | 9 +
.../java/org/apache/gravitino/rel/types/Type.java | 10 +
.../java/org/apache/gravitino/rel/types/Types.java | 165 ++++++++
.../java/org/apache/gravitino/TestTableChange.java | 101 +++++
.../java/org/apache/gravitino/rel/TestTypes.java | 26 ++
.../ranger/RangerAuthorizationPlugin.java | 16 +-
.../ranger/RangerClientExtension.java | 4 +-
.../authorization/ranger/RangerHelper.java | 2 +-
.../gcs/credential/GCSTokenGenerator.java | 2 +-
.../catalog/clickhouse/ClickHouseConstants.java | 6 +
.../operations/ClickHouseTableOperations.java | 267 +++++++++++--
.../test/CatalogClickHouseClusterIT.java | 252 ++++++++++++
.../integration/test/CatalogClickHouseIT.java | 215 ++++++++++
.../operations/TestClickHouseTableOperations.java | 269 ++++++++++++-
.../TestClickHouseTableOperationsCluster.java | 379 ++++++++++++++++++
.../catalog/fileset/FilesetCatalogOperations.java | 12 +-
.../catalog/hive/HiveCatalogOperations.java | 2 -
.../catalog/jdbc/JdbcCatalogOperations.java | 17 -
.../catalog/jdbc/utils/DataSourceUtils.java | 56 +++
.../catalog/jdbc/utils/JdbcConnectorUtils.java | 61 +++
.../catalog/jdbc/TestJdbcCatalogOperations.java | 71 +---
.../jdbc/utils/TestDataSourceUrlValidation.java | 257 +++++++++++-
.../catalog/jdbc/utils/TestJdbcConnectorUtils.java | 69 ++++
.../doris/DorisTablePropertiesMetadata.java | 44 ++-
.../doris/operation/DorisTableOperations.java | 15 +-
.../gravitino/catalog/doris/utils/DorisUtils.java | 19 +-
.../gravitino/catalog/doris/TestDorisCatalog.java | 124 +++++-
.../doris/integration/test/CatalogDoris3xIT.java | 240 ++++++++++++
.../doris/integration/test/CatalogDoris4xIT.java | 241 ++++++++++++
.../doris/integration/test/CatalogDorisIT.java | 129 ++++++
.../operation/TestDorisDatabaseOperations.java | 2 +-
.../TestDorisDatabaseOperationsSqlGeneration.java} | 24 +-
.../TestDorisTableOperationsSqlGeneration.java | 63 ++-
.../catalog/doris/utils/TestDorisUtils.java | 42 ++
.../mysql/operation/MysqlTableOperations.java | 12 +-
.../TestMysqlTableOperationsSqlGeneration.java | 60 ++-
.../operation/PostgreSqlSchemaOperations.java | 5 +-
.../operation/PostgreSqlTableOperations.java | 20 +-
...stPostgreSqlSchemaOperationsSqlGeneration.java} | 27 +-
...TestPostgreSqlTableOperationsSqlGeneration.java | 59 ++-
.../operations/StarRocksTableOperations.java | 22 +-
.../catalog/starrocks/utils/StarRocksUtils.java | 7 +-
.../operation/TestStarRocksTableOperations.java | 50 +++
.../TestStarRocksTableOperationsSqlGeneration.java | 77 +++-
.../starrocks/utils/TestStarRocksUtils.java | 25 ++
.../catalog/lakehouse/iceberg/IcebergCatalog.java | 16 +
.../iceberg/IcebergCatalogOperations.java | 49 ++-
.../iceberg/converter/FromIcebergType.java | 22 ++
.../lakehouse/iceberg/converter/ToIcebergType.java | 57 ++-
.../iceberg/converter/ToIcebergTypeVisitor.java | 7 +
.../lakehouse/iceberg/TestIcebergCatalog.java | 11 +
.../iceberg/TestIcebergCatalogOperations.java | 53 +++
.../iceberg/converter/TestConvertUtil.java | 140 +++++++
.../integration/test/CatalogIcebergBaseIT.java | 364 +++++++++++++++--
.../integration/test/CatalogIcebergRestIT.java | 130 +++++++
.../integration/test/IcebergClassLoaderPoolIT.java | 265 +++++++++++++
.../integration/test/TestMultipleJDBCLoad.java | 12 +-
.../lakehouse/paimon/PaimonCatalogOperations.java | 4 +-
.../lakehouse/paimon/ops/PaimonCatalogOps.java | 2 +-
.../lakehouse/paimon/utils/CatalogUtils.java | 6 +-
.../catalog/hadoop/auth/KerberosAuthUtils.java | 4 +-
.../apache/gravitino/hive/CachedClientPool.java | 10 +-
.../org/apache/gravitino/cli/TypeConverter.java | 2 +
.../org/apache/gravitino/cli/TestParseType.java | 6 +
.../apache/gravitino/cli/TestTypeConverter.java | 1 +
.../org/apache/gravitino/client/DTOConverters.java | 3 +-
.../org/apache/gravitino/client/ErrorHandlers.java | 3 +
.../client/FunctionCatalogOperations.java | 10 +-
.../{GenericColumn.java => GenericFunction.java} | 97 ++---
.../{GenericColumn.java => GenericView.java} | 105 ++---
.../gravitino/client/KerberosTokenProvider.java | 4 +-
.../apache/gravitino/client/RelationalCatalog.java | 6 +-
.../gravitino/client/TestFunctionCatalog.java | 46 +++
.../apache/gravitino/client/TestSupportTags.java | 107 +++++
.../gravitino/client/integration/test/TagIT.java | 227 +++++++++++
clients/client-python/build.gradle.kts | 19 +-
clients/client-python/gravitino/api/catalog.py | 10 +
.../client-python/gravitino/api/rel/dialects.py | 9 +-
.../rel/representation.py} | 12 +-
.../rel/sql_representation.py} | 35 +-
.../rel/types/json_serdes/_helper/serdes_utils.py | 24 +-
.../client-python/gravitino/api/rel/types/type.py | 8 +
.../client-python/gravitino/api/rel/types/types.py | 129 ++++++
clients/client-python/gravitino/api/rel/view.py | 68 ++++
.../gravitino/api/rel/view_catalog.py | 149 +++++++
.../client-python/gravitino/api/rel/view_change.py | 214 ++++++++++
.../client-python/gravitino/client/generic_view.py | 63 +++
.../gravitino/client/relational_catalog.py | 151 ++++++-
.../dto/rel/json_serdes/representation_serdes.py | 49 +++
.../auditable.py => dto/rel/representation_dto.py} | 17 +-
.../sql_representation_dto.py} | 40 +-
.../client-python/gravitino/dto/rel/view_dto.py | 105 +++++
.../gravitino/dto/requests/view_create_request.py | 96 +++++
...{function_list_response.py => view_response.py} | 34 +-
.../gravitino/dto/util/dto_converters.py | 54 ++-
clients/client-python/gravitino/exceptions/base.py | 8 +
...able_error_handler.py => view_error_handler.py} | 20 +-
clients/client-python/gravitino/utils/serdes.py | 10 +
clients/client-python/requirements-dev.txt | 4 +-
clients/client-python/requirements.txt | 2 +-
.../tests/integration/integration_test_env.py | 78 +++-
.../tests/integration/test_catalog.py | 37 +-
.../tests/integration/test_group_management.py | 10 +-
.../client-python/tests/integration/test_owner.py | 37 +-
.../tests/integration/test_relational_catalog.py | 86 ++++
.../tests/integration/test_role_management.py | 10 +-
.../client-python/tests/integration/test_schema.py | 32 +-
.../client-python/tests/integration/test_user.py | 41 +-
.../{gravitino => tests/unittests}/api/__init__.py | 0
.../unittests/api/rel/test_sql_representation.py | 54 +++
.../tests/unittests/api/rel/test_types.py | 26 ++
.../tests/unittests/api/rel/test_view.py | 69 ++++
.../tests/unittests/api/rel/test_view_change.py | 150 +++++++
.../api/stats/test_supports_statistics.py | 9 +-
.../api => tests/unittests/api/tag}/__init__.py | 0
.../unittests/client/operation_test_fixtures.py | 89 +++++
.../client/test_metalake_group_operations.py | 73 +---
.../client/test_metalake_role_operations.py | 167 ++------
.../client/test_metalake_user_operations.py | 73 +---
.../dto/rel/test_representation_serdes.py | 54 +++
.../dto/rel/test_sql_representation_dto.py | 55 +++
.../tests/unittests/dto/rel/test_table_dto.py | 129 +-----
.../tests/unittests/dto/rel/test_view_dto.py | 293 ++++++++++++++
.../dto/requests/test_view_create_request.py | 144 +++++++
.../unittests/dto/responses/test_responses.py | 163 +-------
.../unittests/dto/responses/test_view_response.py | 51 +++
.../unittests/dto/util/test_dto_converters.py | 181 +++------
.../api => tests/unittests/fixtures}/__init__.py | 0
.../tests/unittests/fixtures/table_fixtures.py | 222 +++++++++++
.../unittests/json_serdes/test_type_serdes.py | 9 +
.../tests/unittests/test_error_handler.py | 83 ++++
.../tests/unittests/test_generic_view.py | 61 +++
.../tests/unittests/test_relational_catalog.py | 222 +++++------
.../tests/unittests/test_relational_table.py | 158 +-------
.../client-python/tests/unittests/test_requests.py | 133 +------
.../filesystem/hadoop/BaseGVFSOperations.java | 20 +-
.../org/apache/gravitino/auth/ActiveRoles.java | 164 ++++++++
.../apache/gravitino/auth/ActiveRolesParser.java | 122 ++++++
.../org/apache/gravitino/auth/AuthConstants.java | 10 +
...rType.java => IllegalActiveRolesException.java} | 33 +-
.../org/apache/gravitino/auth/KerberosUtils.java | 6 +-
.../gravitino/dto/requests/TableUpdateRequest.java | 20 +-
.../java/org/apache/gravitino/json/JsonUtils.java | 19 +
.../org/apache/gravitino/auth/TestActiveRoles.java | 102 +++++
.../gravitino/auth/TestActiveRolesParser.java | 122 ++++++
.../org/apache/gravitino/json/TestJsonUtils.java | 33 ++
conf/gravitino.conf.template | 4 +
.../main/java/org/apache/gravitino/Configs.java | 12 +
.../java/org/apache/gravitino/UserPrincipal.java | 32 ++
.../apache/gravitino/audit/AuditLogManager.java | 9 +-
.../authorization/AuthorizationRequestContext.java | 37 ++
.../authorization/GravitinoAuthorizer.java | 2 +-
.../gravitino/authorization/OwnerManager.java | 7 +-
.../auxiliary/AuxiliaryServiceManager.java | 4 +-
.../gravitino/cache/CaffeineEntityCache.java | 4 +-
.../gravitino/catalog/CapabilityHelpers.java | 54 ++-
.../apache/gravitino/catalog/CatalogManager.java | 202 ++++++++--
.../catalog/FilesetNormalizeDispatcher.java | 17 +-
.../catalog/FunctionNormalizeDispatcher.java | 17 +-
.../gravitino/catalog/ManagedTableOperations.java | 8 +-
.../catalog/ModelNormalizeDispatcher.java | 17 +-
.../catalog/PartitionNormalizeDispatcher.java | 22 +-
.../catalog/SchemaNormalizeDispatcher.java | 19 +-
.../catalog/SchemaOperationDispatcher.java | 2 +-
.../catalog/TableNormalizeDispatcher.java | 17 +-
.../catalog/TableOperationDispatcher.java | 2 +-
.../catalog/TopicNormalizeDispatcher.java | 17 +-
.../catalog/TopicOperationDispatcher.java | 2 +-
.../gravitino/catalog/ViewNormalizeDispatcher.java | 16 +-
.../gravitino/catalog/ViewOperationDispatcher.java | 2 +-
.../apache/gravitino/connector/BaseCatalog.java | 9 +
.../gravitino/connector/capability/Capability.java | 20 +
.../gravitino/credential/CredentialCache.java | 5 +-
.../gravitino/hook/CatalogHookDispatcher.java | 4 +-
.../job/BuiltInJobTemplateEventListener.java | 7 +-
.../gravitino/listener/AsyncQueueListener.java | 2 +-
.../apache/gravitino/metrics/MetricsSystem.java | 2 +-
.../storage/LancePartitionStatisticStorage.java | 4 +
.../relational/RelationalGarbageCollector.java | 9 +-
.../base/TagMetadataObjectRelBaseSQLProvider.java | 28 ++
.../TagMetadataObjectRelPostgreSQLProvider.java | 28 ++
.../relational/service/FunctionMetaService.java | 6 +
.../java/org/apache/gravitino/tag/TagManager.java | 4 +-
.../org/apache/gravitino/utils/ClassLoaderKey.java | 70 ++++
.../apache/gravitino/utils/ClassLoaderPool.java | 216 +++++++++++
.../gravitino/utils/IsolatedClassLoader.java | 43 +-
.../gravitino/utils/PooledClassLoaderEntry.java | 101 +++++
.../org/apache/gravitino/utils/PrincipalUtils.java | 6 +-
.../java/org/apache/gravitino/TestCatalog.java | 7 +
.../TestAuthorizationRequestContext.java | 17 +
.../gravitino/catalog/TestCapabilityHelpers.java | 145 +++++++
.../gravitino/catalog/TestCatalogManager.java | 74 ++++
.../catalog/TestClassLoaderPoolIntegration.java | 349 +++++++++++++++++
.../catalog/TestManagedTableOperations.java | 42 ++
.../catalog/TestPartitionNormalizeDispatcher.java | 72 ++++
.../catalog/TestTableNormalizeDispatcher.java | 82 ++++
.../gravitino/connector/TestCatalogOperations.java | 10 +-
.../connector/capability/TestCapability.java | 8 +
.../job/TestBuiltInJobTemplateEventListener.java | 52 ++-
.../relational/service/TestCatalogMetaService.java | 157 ++++++++
.../service/TestFunctionMetaService.java | 42 ++
.../relational/service/TestSchemaMetaService.java | 146 +++++++
.../relational/service/TestViewMetaService.java | 41 ++
.../org/apache/gravitino/tag/TestTagManager.java | 167 +++++++-
.../gravitino/utils/TestClassLoaderPool.java | 428 ++++++++++++++++++++
.../gravitino/utils/TestIsolatedClassLoader.java | 12 +
.../gravitino/utils/TestMetadataObjectUtil.java | 11 +
.../gravitino-entity-cache-multinode-design.md | 429 ++++++++++++++++++++
design-docs/images/coherence-gate.png | Bin 0 -> 86977 bytes
design-docs/images/entity-key-invalidation.png | Bin 0 -> 125578 bytes
design-docs/images/roadmap.png | Bin 0 -> 76171 bytes
design-docs/images/shared-cache.png | Bin 0 -> 63940 bytes
docs/gravitino-server-config.md | 1 +
docs/jdbc-clickhouse-catalog.md | 12 +-
docs/jdbc-doris-catalog.md | 205 +++++++---
docs/lakehouse-iceberg-catalog.md | 16 +-
docs/manage-relational-metadata-using-gravitino.md | 15 +
docs/manage-tags-in-gravitino.md | 10 +-
docs/open-api/catalogs.yaml | 49 +++
docs/open-api/datatype.yaml | 74 ++--
docs/open-api/filesets.yaml | 1 -
docs/open-api/indexes.yaml | 8 +
docs/open-api/lineage.yaml | 11 +-
docs/open-api/models.yaml | 3 +-
docs/open-api/openapi.yaml | 4 +-
docs/open-api/policies.yaml | 1 +
docs/open-api/statistics.yaml | 6 +-
docs/open-api/tables.yaml | 15 +-
docs/open-api/tags.yaml | 4 +-
...partitioning-distribution-sort-order-indexes.md | 13 +-
.../iceberg/common/ops/IcebergCatalogWrapper.java | 74 ----
.../common/utils/IcebergHiveCachedClientPool.java | 9 +-
.../iceberg/service/CatalogWrapperForREST.java | 5 -
.../service/IcebergCatalogWrapperManager.java | 5 +-
.../iceberg/service/IcebergExceptionMapper.java | 1 +
.../service/TestIcebergAuthenticationFilter.java | 20 +
.../integration/test/util/TestDatabaseName.java | 14 +
.../lance/service/LanceAuthenticationFilter.java | 7 +
mcp-server/pyproject.toml | 2 +-
.../apache/gravitino/idp/IdpUserGroupManager.java | 2 +-
scripts/h2/schema-2.0.0-h2.sql | 2 +-
scripts/h2/upgrade-1.3.0-to-2.0.0-h2.sql | 3 +
scripts/mysql/schema-2.0.0-mysql.sql | 2 +-
scripts/mysql/upgrade-1.3.0-to-2.0.0-mysql.sql | 3 +
scripts/postgresql/schema-2.0.0-postgresql.sql | 2 +-
.../upgrade-1.3.0-to-2.0.0-postgresql.sql | 3 +
.../authentication/AuthenticationFilter.java | 24 +-
.../authentication/KerberosAuthenticator.java | 4 +-
.../authorization/GravitinoAuthorizerProvider.java | 2 +-
.../server/authorization/MetadataAuthzHelper.java | 72 +++-
.../authorization/jcasbin/JcasbinAuthorizer.java | 246 ++++++++----
.../jcasbin/JcasbinLoadedRolesCache.java | 8 +
.../apache/gravitino/server/web/JettyServer.java | 14 +-
.../authentication/TestAuthenticationFilter.java | 80 ++++
.../authentication/TestKerberosAuthenticator.java | 4 +-
.../jcasbin/TestJcasbinAuthorizer.java | 432 ++++++++++++++++++++-
.../server/web/rest/ExceptionHandlers.java | 10 +
.../gravitino/server/web/rest/OwnerOperations.java | 4 +-
.../server/web/rest/PermissionOperations.java | 4 +-
.../server/web/rest/SchemaOperations.java | 2 +-
.../web/rest/TestMetadataObjectTagOperations.java | 262 ++++++++++++-
.../gravitino/trino/connector/GravitinoConfig.java | 32 +-
.../trino/connector/GravitinoConnectorFactory.java | 9 +-
.../connector/GravitinoConnectorPluginManager.java | 14 +-
.../gravitino/trino/connector/GravitinoHandle.java | 4 +-
.../trino/connector/catalog/CatalogRegister.java | 9 +-
web-v2/web/src/app/login/components/BasicLogin.js | 103 +++++
.../web/src/app/login/components/DefaultLogin.js | 78 ++--
web-v2/web/src/app/login/components/SimpleLogin.js | 55 +++
web-v2/web/src/app/login/page.js | 48 ++-
web-v2/web/src/app/metalakes/page.js | 3 +-
web-v2/web/src/app/rootLayout/UserSetting.js | 3 +-
web-v2/web/src/components/StyledToast.js | 6 +-
web-v2/web/src/lib/api/auth/index.js | 14 +
web-v2/web/src/lib/provider/session.js | 8 +
web-v2/web/src/lib/store/auth/index.js | 71 +++-
web-v2/web/src/lib/utils/axios/index.js | 30 +-
.../web/src/lib/utils/serviceAdmins.js | 13 +-
285 files changed, 13840 insertions(+), 2385 deletions(-)
create mode 100644 .github/workflows/contrib-catalog-test.yml
create mode 100644
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/utils/TestJdbcConnectorUtils.java
copy
catalogs/{catalog-lakehouse-hudi/src/test/java/org/apache/gravitino/catalog/lakehouse/hudi/backend/hms/TestHudiHMSBackend.java
=>
catalog-jdbc-doris/src/test/java/org/apache/gravitino/catalog/doris/operation/TestDorisDatabaseOperationsSqlGeneration.java}
(60%)
copy
catalogs/{catalog-lakehouse-hudi/src/test/java/org/apache/gravitino/catalog/lakehouse/hudi/backend/hms/TestHudiHMSBackend.java
=>
catalog-jdbc-postgresql/src/test/java/org/apache/gravitino/catalog/postgresql/operation/TestPostgreSqlSchemaOperationsSqlGeneration.java}
(56%)
create mode 100644
catalogs/catalog-lakehouse-iceberg/src/test/java/org/apache/gravitino/catalog/lakehouse/iceberg/integration/test/IcebergClassLoaderPoolIT.java
copy
clients/client-java/src/main/java/org/apache/gravitino/client/{GenericColumn.java
=> GenericFunction.java} (57%)
copy
clients/client-java/src/main/java/org/apache/gravitino/client/{GenericColumn.java
=> GenericView.java} (58%)
copy mcp-server/mcp_server/client/plain/exception.py =>
clients/client-python/gravitino/api/rel/dialects.py (84%)
copy clients/client-python/gravitino/{auth/auth_constants.py =>
api/rel/representation.py} (77%)
copy clients/client-python/gravitino/{dto/requests/user_add_request.py =>
api/rel/sql_representation.py} (55%)
create mode 100644 clients/client-python/gravitino/api/rel/view.py
create mode 100644 clients/client-python/gravitino/api/rel/view_catalog.py
create mode 100644 clients/client-python/gravitino/api/rel/view_change.py
create mode 100644 clients/client-python/gravitino/client/generic_view.py
create mode 100644
clients/client-python/gravitino/dto/rel/json_serdes/representation_serdes.py
copy clients/client-python/gravitino/{api/auditable.py =>
dto/rel/representation_dto.py} (70%)
copy clients/client-python/gravitino/dto/{responses/table_response.py =>
rel/sql_representation_dto.py} (50%)
create mode 100644 clients/client-python/gravitino/dto/rel/view_dto.py
create mode 100644
clients/client-python/gravitino/dto/requests/view_create_request.py
copy clients/client-python/gravitino/dto/responses/{function_list_response.py
=> view_response.py} (55%)
copy
clients/client-python/gravitino/exceptions/handlers/{table_error_handler.py =>
view_error_handler.py} (83%)
copy clients/client-python/{gravitino => tests/unittests}/api/__init__.py
(100%)
create mode 100644
clients/client-python/tests/unittests/api/rel/test_sql_representation.py
create mode 100644 clients/client-python/tests/unittests/api/rel/test_view.py
create mode 100644
clients/client-python/tests/unittests/api/rel/test_view_change.py
copy clients/client-python/{gravitino/api =>
tests/unittests/api/tag}/__init__.py (100%)
create mode 100644
clients/client-python/tests/unittests/client/operation_test_fixtures.py
create mode 100644
clients/client-python/tests/unittests/dto/rel/test_representation_serdes.py
create mode 100644
clients/client-python/tests/unittests/dto/rel/test_sql_representation_dto.py
create mode 100644
clients/client-python/tests/unittests/dto/rel/test_view_dto.py
create mode 100644
clients/client-python/tests/unittests/dto/requests/test_view_create_request.py
create mode 100644
clients/client-python/tests/unittests/dto/responses/test_view_response.py
copy clients/client-python/{gravitino/api =>
tests/unittests/fixtures}/__init__.py (100%)
create mode 100644
clients/client-python/tests/unittests/fixtures/table_fixtures.py
create mode 100644 clients/client-python/tests/unittests/test_generic_view.py
create mode 100644
common/src/main/java/org/apache/gravitino/auth/ActiveRoles.java
create mode 100644
common/src/main/java/org/apache/gravitino/auth/ActiveRolesParser.java
copy common/src/main/java/org/apache/gravitino/auth/{AuthenticatorType.java =>
IllegalActiveRolesException.java} (52%)
create mode 100644
common/src/test/java/org/apache/gravitino/auth/TestActiveRoles.java
create mode 100644
common/src/test/java/org/apache/gravitino/auth/TestActiveRolesParser.java
create mode 100644
core/src/main/java/org/apache/gravitino/utils/ClassLoaderKey.java
create mode 100644
core/src/main/java/org/apache/gravitino/utils/ClassLoaderPool.java
create mode 100644
core/src/main/java/org/apache/gravitino/utils/PooledClassLoaderEntry.java
create mode 100644
core/src/test/java/org/apache/gravitino/catalog/TestCapabilityHelpers.java
create mode 100644
core/src/test/java/org/apache/gravitino/catalog/TestClassLoaderPoolIntegration.java
create mode 100644
core/src/test/java/org/apache/gravitino/utils/TestClassLoaderPool.java
create mode 100644 design-docs/gravitino-entity-cache-multinode-design.md
create mode 100644 design-docs/images/coherence-gate.png
create mode 100644 design-docs/images/entity-key-invalidation.png
create mode 100644 design-docs/images/roadmap.png
create mode 100644 design-docs/images/shared-cache.png
create mode 100644 web-v2/web/src/app/login/components/BasicLogin.js
create mode 100644 web-v2/web/src/app/login/components/SimpleLogin.js
copy web/web/postcss.config.js => web-v2/web/src/lib/utils/serviceAdmins.js
(78%)