This is an automated email from the ASF dual-hosted git repository.
jerryshao pushed a change to branch
dependabot/pip/clients/client-python/coverage-7.14.3
in repository https://gitbox.apache.org/repos/asf/gravitino.git
from 90e2efa9ff build(deps-dev): bump coverage in /clients/client-python
add 4c7358b64b [#10894] docs: Add design doc for role assumption (SET
ROLE) permission narrowing (#11790)
add 86a235bf9c [MINOR] refactor(spark-connector): Align JDBC connector
common logic (#11847)
add 7b7ec06582 [MINOR] refactor(flink-connector): Align JDBC connector
common logic (#11849)
add 0e96563519 [#10866] feat(charts): Support Gateway API HTTPRoute in
Helm charts (#11308)
add 2de6492d6f [MINOR] fix(aws): Support MinIO role ARNs in IRSA
credential vending (#11883)
add b0aa708cd0 [#11836] fix(server): Return visible service admins as list
(#11843)
add 69edf53a10 [#11748] feat(catalog-hadoop): support Tencent Cloud COS
as fileset storage backend (Java side) (#11713)
add b096dd2c42 [#11879] fix(clickhouse): fix type conversion for Decimal,
DateTime64, LowCardinality, and IPv4/IPv6 (#11884)
add c2fc58bf13 [#11839] fix(clickhouse): escape single quotes in database
and table name SQL to prevent injection (#11840)
add 15778b188f [#11893] fix(lance): Add external table guard to
deregisterTable (#11896)
add 5bcfc167a4 [#11899] fix(flink): exclude vulnerable log4j 2.x from
hive-common compile classpath (#11898)
add bcb9d2da87 [MINOR] fix(workflow): refresh docker login action SHA for
ASF allowlist (#11908)
add 90c43acca3 [#11832] feat(core): Add user external ID, enable/disable,
and delete-by-external-id APIs (#11848)
add 8fb593a47d [#11834] feat(core): Add group external ID and
delete-by-external-id APIs (#11914)
add 409f83447f [#11784] improvement(common): harden remote file fetch
against SSRF DNS-rebinding (#11785)
add ab0d52bae5 [#11835] feat: external-id user/group REST create APIs and
AccessControlIT (#11921)
add 28a4ac73c8 [#11891] fix(lance): retry repair-on-load metadata update
on optimistic-lock conflict (#11892)
add 407f0724fd [#10548] feat(iceberg): support registerView in Iceberg
REST catalog (#11828)
add 6344766009 [#11907] feat(trino-connector): Support selecting Trino IT
container subset via TEST_CONTAINERS (#11909)
add 8411916170 [#11919] feat(core): AccessControlEventDispatcher events
for external-id APIs (#11920)
add ddbf6fc6e6 [#11590] fix(doris): fix INDEX syntax and support
AUTO_INCREMENT for Doris 3.0+ (#11731)
add 27ad2cac7a [MINOR] chore(web-v2): Allow newer Node.js versions (#11904)
add 82fc98bddc [#11939] fix(core,auth): tolerate concurrent directory
creation instead of failing spuriously (#11940)
add a1ba08b2e7 [#11900] feat(iceberg): Support HDFS Kerberos auth for IRC
JDBC catalog (#11901)
add 70a81aedd3 [#11590] improvement(doris): upgrade type system for Doris
3.0+/4.0.x compatibility (#11763)
add 99941e2d38 [#11949] feat(iceberg): native variant type support (#11932)
add fc1c4a2ede [#11567][#11574] feat(mcp-server): write tools for tag,
catalog, schema, table, model, topic, fileset (#11621)
add 799c50c737 [#11954] feat(iceberg): enable creating format-version 3
(V3) tables via the Gravitino API (#11957)
add 8e2d4ddafb [#11912] feat(clickhouse): support set data skipping index
type (#11916)
add effa6f2d6f build(deps): bump fastmcp from 3.2.0 to 3.4.2 in
/mcp-server (#11869)
add e211d267a0 [#10685] feat(iceberg-rest): Support vended credentials on
planTableScan endpoint (#10800)
add 4894435f7a [#11880] fix(clickhouse): preserve SETTINGS clause on table
round-trip (#11885)
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 e3dbaafceb Merge branch 'main' into
dependabot/pip/clients/client-python/coverage-7.14.3
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 1 +
.github/workflows/docker-image.yml | 2 +-
.../org/apache/gravitino/authorization/Group.java | 16 +
.../org/apache/gravitino/authorization/User.java | 25 +
...Credential.java => COSSecretKeyCredential.java} | 50 +-
.../org/apache/gravitino/function/Function.java | 9 +
.../java/org/apache/gravitino/rel/TableChange.java | 53 +-
.../main/java/org/apache/gravitino/rel/View.java | 9 +
.../org/apache/gravitino/rel/indexes/Index.java | 3 +
.../java/org/apache/gravitino/rel/types/Type.java | 15 +
.../java/org/apache/gravitino/rel/types/Types.java | 189 ++++++
.../org.apache.gravitino.credential.Credential | 1 +
.../java/org/apache/gravitino/TestTableChange.java | 101 +++
.../java/org/apache/gravitino/rel/TestTypes.java | 31 +
.../ranger/RangerAuthorizationPlugin.java | 16 +-
.../ranger/RangerClientExtension.java | 4 +-
.../authorization/ranger/RangerHelper.java | 2 +-
build.gradle.kts | 9 +
.../s3/credential/AwsIrsaCredentialGenerator.java | 9 +-
.../webidentity/WebIdentityTokenSources.java | 5 +-
.../credential/TestAwsIrsaCredentialGenerator.java | 37 ++
.../webidentity/TestWebIdentityTokenSources.java | 11 +-
.../gcs/credential/GCSTokenGenerator.java | 2 +-
.../build.gradle.kts | 38 +-
bundles/{aliyun => tencent}/build.gradle.kts | 7 +-
.../cos/credential/COSSecretKeyProvider.java} | 23 +-
.../gravitino/cos/fs/COSCredentialsProvider.java | 91 +++
.../gravitino/cos/fs/COSFileSystemProvider.java | 128 ++++
.../org/apache/gravitino/cos/fs/COSUtils.java} | 25 +-
....gravitino.catalog.hadoop.fs.FileSystemProvider | 2 +-
....apache.gravitino.credential.CredentialProvider | 2 +-
.../cos/credential/TestCOSCredentialProvider.java | 63 ++
.../cos/fs/TestCOSCredentialsProvider.java | 154 +++++
.../cos/fs/TestCOSFileSystemProvider.java | 92 +++
.../catalog/clickhouse/ClickHouseConstants.java | 9 +
.../converter/ClickHouseTypeConverter.java | 23 +-
.../catalog/clickhouse/converter/TypeUtils.java | 6 +-
.../operations/ClickHouseDatabaseOperations.java | 9 +
.../operations/ClickHouseTableOperations.java | 190 +++++-
.../converter/TestClickHouseTypeConverter.java | 29 +
.../test/CatalogClickHouseClusterIT.java | 18 +
.../integration/test/CatalogClickHouseIT.java | 231 ++++++-
.../test/service/ClickHouseService.java | 12 +
.../TestClickHouseDatabaseOperations.java | 18 +
.../operations/TestClickHouseTableOperations.java | 298 ++++++++-
.../TestClickHouseTableOperationsUnit.java | 87 +++
.../credential/config/COSCredentialConfig.java | 79 +++
.../apache/gravitino/storage/COSProperties.java | 21 +-
catalogs/catalog-fileset/build.gradle.kts | 2 +
.../catalog/fileset/FilesetCatalogOperations.java | 9 +-
...tOSSCatalogIT.java => FilesetCOSCatalogIT.java} | 100 +--
.../catalog/jdbc/utils/DataSourceUtils.java | 56 ++
.../jdbc/utils/TestDataSourceUrlValidation.java | 257 +++++++-
.../doris/converter/DorisTypeConverter.java | 113 +++-
.../doris/operation/DorisTableOperations.java | 315 +++++++++-
.../gravitino/catalog/doris/utils/DorisUtils.java | 2 +-
.../doris/converter/TestDorisTypeConverter.java | 60 +-
.../doris/integration/test/CatalogDoris3xIT.java | 436 +++++++++++++
.../doris/integration/test/CatalogDoris4xIT.java | 435 +++++++++++++
.../doris/integration/test/CatalogDorisIT.java | 118 +++-
.../catalog/doris/operation/TestDoris.java | 2 +-
.../doris/operation/TestDorisTableOperations.java | 42 +-
.../TestDorisTableOperationsSqlGeneration.java | 327 ++++++++++
.../catalog/doris/utils/TestDorisUtils.java | 21 +
.../lakehouse/lance/LanceTableOperations.java | 88 ++-
.../lance/TestLanceConcurrentRepairStress.java | 283 +++++++++
.../lakehouse/lance/TestLanceTableOperations.java | 85 +++
.../catalog/lakehouse/iceberg/IcebergCatalog.java | 16 +
.../iceberg/IcebergCatalogOperations.java | 47 +-
.../catalog/lakehouse/iceberg/IcebergTable.java | 11 +
.../iceberg/IcebergTablePropertiesMetadata.java | 74 ++-
.../iceberg/converter/FromIcebergType.java | 27 +
.../lakehouse/iceberg/converter/ToIcebergType.java | 59 +-
.../iceberg/converter/ToIcebergTypeVisitor.java | 7 +
.../lakehouse/iceberg/TestIcebergCatalog.java | 11 +
.../iceberg/TestIcebergCatalogOperations.java | 53 ++
.../lakehouse/iceberg/TestIcebergTable.java | 19 +
.../TestIcebergTablePropertiesMetadata.java | 87 +++
.../iceberg/converter/TestConvertUtil.java | 151 +++++
.../integration/test/CatalogIcebergBaseIT.java | 539 +++++++++++++++-
.../integration/test/CatalogIcebergRestIT.java | 130 ++++
.../lakehouse/paimon/PaimonCatalogOperations.java | 2 +-
.../lakehouse/paimon/ops/PaimonCatalogOps.java | 2 +-
.../lakehouse/paimon/utils/CatalogUtils.java | 6 +-
.../catalog/hadoop/auth/KerberosAuthUtils.java | 10 +-
.../catalog/hadoop/auth/TestKerberosAuthUtils.java | 44 ++
.../gravitino/catalog/hadoop/fs/Constants.java | 6 +
.../apache/gravitino/hive/CachedClientPool.java | 10 +-
.../org/apache/gravitino/cli/TypeConverter.java | 2 +
.../apache/gravitino/cli/commands/ListGroups.java | 5 +
.../apache/gravitino/cli/commands/ListUsers.java | 10 +
.../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 ++--
.../apache/gravitino/client/GravitinoClient.java | 32 +
.../apache/gravitino/client/GravitinoMetalake.java | 58 ++
.../gravitino/client/KerberosTokenProvider.java | 4 +-
.../apache/gravitino/client/RelationalCatalog.java | 6 +-
.../gravitino/client/TestFunctionCatalog.java | 46 ++
.../apache/gravitino/client/TestSupportTags.java | 107 ++++
.../org/apache/gravitino/client/TestUserGroup.java | 46 ++
.../gravitino/client/integration/test/TagIT.java | 227 +++++++
.../test/authorization/AccessControlIT.java | 45 ++
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 | 12 +
.../client-python/gravitino/api/rel/types/types.py | 151 +++++
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 +++++++
clients/client-python/gravitino/exceptions/base.py | 8 +
clients/client-python/gravitino/utils/serdes.py | 11 +
clients/client-python/requirements-dev.txt | 2 +-
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_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 | 32 +
.../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 +--
.../tests/unittests/dto/rel/test_table_dto.py | 129 +---
.../unittests/dto/responses/test_responses.py | 163 +----
.../unittests/dto/util/test_dto_converters.py | 129 +---
.../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_relational_catalog.py | 131 +---
.../tests/unittests/test_relational_table.py | 158 +----
.../client-python/tests/unittests/test_requests.py | 133 +---
.../filesystem-hadoop3-runtime/build.gradle.kts | 1 +
clients/filesystem-hadoop3/build.gradle.kts | 2 +
.../filesystem/hadoop/BaseGVFSOperations.java | 20 +-
...T.java => GravitinoVirtualFileSystemCOSIT.java} | 80 ++-
.../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 +-
.../gravitino/dto/authorization/GroupDTO.java | 30 +-
.../gravitino/dto/authorization/UserDTO.java | 55 +-
.../gravitino/dto/requests/GroupAddRequest.java | 22 +-
.../gravitino/dto/requests/TableUpdateRequest.java | 20 +-
.../gravitino/dto/requests/UserAddRequest.java | 28 +-
.../apache/gravitino/dto/util/DTOConverters.java | 3 +
.../java/org/apache/gravitino/json/JsonUtils.java | 21 +
.../org/apache/gravitino/utils/FileFetcher.java | 60 +-
.../gravitino/utils/RemoteFileDownloader.java | 396 ++++++++++++
.../apache/gravitino/utils/RemoteUriValidator.java | 140 ++++-
.../java/org/apache/gravitino/utils/SafeUri.java | 55 ++
.../org/apache/gravitino/auth/TestActiveRoles.java | 102 +++
.../gravitino/auth/TestActiveRolesParser.java | 122 ++++
.../org/apache/gravitino/json/TestJsonUtils.java | 40 ++
.../apache/gravitino/utils/TestFileFetcher.java | 89 ++-
.../gravitino/utils/TestRemoteFileDownloader.java | 686 +++++++++++++++++++++
.../gravitino/utils/TestRemoteUriValidator.java | 118 ++--
.../org/apache/gravitino/utils/TestSafeUri.java | 36 +-
conf/gravitino-iceberg-rest-server.conf.template | 18 +
.../src/main/java/org/apache/gravitino/Entity.java | 22 +
.../java/org/apache/gravitino/EntityStore.java | 10 +
.../gravitino/SupportsExternalIdOperations.java | 71 +++
.../java/org/apache/gravitino/audit/AuditLog.java | 14 +
.../apache/gravitino/audit/AuditLogManager.java | 9 +-
.../gravitino/audit/v2/CompatibilityUtils.java | 7 +
.../authorization/AccessControlDispatcher.java | 113 ++++
.../authorization/AccessControlManager.java | 75 +++
.../authorization/AuthorizationRequestContext.java | 27 +
.../authorization/AuthorizationUtils.java | 84 +++
.../authorization/GravitinoAuthorizer.java | 2 +-
.../gravitino/authorization/OwnerManager.java | 7 +-
.../gravitino/authorization/PermissionManager.java | 6 +
...pManager.java => UserGroupExternalManager.java} | 183 +++---
.../gravitino/authorization/UserGroupManager.java | 6 +-
.../auxiliary/AuxiliaryServiceManager.java | 4 +-
.../gravitino/cache/CaffeineEntityCache.java | 4 +-
.../gravitino/catalog/CapabilityHelpers.java | 28 +-
.../apache/gravitino/catalog/CatalogManager.java | 13 +-
.../gravitino/catalog/ManagedTableOperations.java | 8 +-
.../catalog/SchemaOperationDispatcher.java | 2 +-
.../catalog/TableOperationDispatcher.java | 2 +-
.../catalog/TopicOperationDispatcher.java | 2 +-
.../gravitino/catalog/ViewOperationDispatcher.java | 2 +-
.../apache/gravitino/connector/BaseCatalog.java | 9 +
.../gravitino/connector/capability/Capability.java | 20 +
.../gravitino/credential/CredentialCache.java | 5 +-
.../hook/AccessControlHookDispatcher.java | 48 ++
.../gravitino/hook/CatalogHookDispatcher.java | 4 +-
.../job/BuiltInJobTemplateEventListener.java | 7 +-
.../java/org/apache/gravitino/job/JobManager.java | 14 +-
.../listener/AccessControlEventDispatcher.java | 170 +++++
.../gravitino/listener/AsyncQueueListener.java | 2 +-
.../listener/api/event/DisableUserEvent.java | 65 ++
...lureEvent.java => DisableUserFailureEvent.java} | 34 +-
...talogPreEvent.java => DisableUserPreEvent.java} | 35 +-
.../listener/api/event/EnableUserEvent.java | 65 ++
...ilureEvent.java => EnableUserFailureEvent.java} | 34 +-
...ilesetPreEvent.java => EnableUserPreEvent.java} | 37 +-
...upEvent.java => GetGroupByExternalIdEvent.java} | 43 +-
....java => GetGroupByExternalIdFailureEvent.java} | 32 +-
...vent.java => GetGroupByExternalIdPreEvent.java} | 31 +-
...serEvent.java => GetUserByExternalIdEvent.java} | 40 +-
...t.java => GetUserByExternalIdFailureEvent.java} | 42 +-
...Event.java => GetUserByExternalIdPreEvent.java} | 37 +-
.../listener/api/event/OperationType.java | 7 +
...vent.java => RemoveGroupByExternalIdEvent.java} | 24 +-
...va => RemoveGroupByExternalIdFailureEvent.java} | 32 +-
...t.java => RemoveGroupByExternalIdPreEvent.java} | 31 +-
...Event.java => RemoveUserByExternalIdEvent.java} | 43 +-
...ava => RemoveUserByExternalIdFailureEvent.java} | 33 +-
...nt.java => RemoveUserByExternalIdPreEvent.java} | 37 +-
.../gravitino/listener/api/info/GroupInfo.java | 12 +
.../gravitino/listener/api/info/UserInfo.java | 23 +
.../org/apache/gravitino/meta/GroupEntity.java | 24 +-
.../java/org/apache/gravitino/meta/UserEntity.java | 46 +-
.../apache/gravitino/metrics/MetricsSystem.java | 2 +-
.../storage/LancePartitionStatisticStorage.java | 4 +
.../gravitino/storage/relational/JDBCBackend.java | 28 +
.../storage/relational/RelationalBackend.java | 29 +
.../storage/relational/RelationalEntityStore.java | 46 +-
.../relational/RelationalGarbageCollector.java | 9 +-
.../storage/relational/mapper/GroupMetaMapper.java | 6 +
.../mapper/GroupMetaSQLProviderFactory.java | 5 +
.../storage/relational/mapper/UserMetaMapper.java | 10 +
.../mapper/UserMetaSQLProviderFactory.java | 10 +
.../provider/base/GroupMetaBaseSQLProvider.java | 43 +-
.../provider/base/OwnerMetaBaseSQLProvider.java | 4 +
.../base/TagMetadataObjectRelBaseSQLProvider.java | 28 +
.../provider/base/UserMetaBaseSQLProvider.java | 64 +-
.../mapper/provider/h2/GroupMetaH2Provider.java | 2 +
.../mapper/provider/h2/UserMetaH2Provider.java | 1 +
.../postgresql/GroupMetaPostgreSQLProvider.java | 8 +-
.../TagMetadataObjectRelPostgreSQLProvider.java | 28 +
.../postgresql/UserMetaPostgreSQLProvider.java | 9 +-
.../gravitino/storage/relational/po/GroupPO.java | 12 +
.../gravitino/storage/relational/po/UserPO.java | 27 +
.../relational/service/FunctionMetaService.java | 6 +
.../relational/service/GroupMetaService.java | 28 +
.../relational/service/TableMetaService.java | 12 +-
.../relational/service/UserMetaService.java | 67 ++
.../storage/relational/utils/POConverters.java | 12 +
.../java/org/apache/gravitino/tag/TagManager.java | 4 +-
.../gravitino/utils/IsolatedClassLoader.java | 33 +-
.../org/apache/gravitino/utils/PrincipalUtils.java | 6 +-
.../java/org/apache/gravitino/TestCatalog.java | 7 +
.../gravitino/audit/v2/TestCompatibilityUtils.java | 6 +
.../authorization/TestAccessControlManager.java | 147 +++++
.../authorization/TestAuthorizationUtils.java | 51 ++
.../gravitino/catalog/TestCapabilityHelpers.java | 95 +++
.../gravitino/catalog/TestCatalogManager.java | 74 +++
.../catalog/TestManagedTableOperations.java | 42 ++
.../gravitino/connector/TestCatalogOperations.java | 10 +-
.../connector/capability/TestCapability.java | 8 +
.../job/TestBuiltInJobTemplateEventListener.java | 52 +-
.../org/apache/gravitino/job/TestJobManager.java | 35 ++
.../listener/api/event/TestGroupEvent.java | 70 +++
.../listener/api/event/TestOwnerEvent.java | 3 +-
.../listener/api/event/TestUserEvent.java | 87 +++
.../storage/memory/TestMemoryEntityStore.java | 82 ++-
.../mapper/provider/base/TestAuthMappers.java | 1 +
.../provider/base/TestUserRoleRelMapper.java | 1 +
.../provider/h2/TestGroupMetaH2Provider.java | 7 +-
.../relational/service/TestCatalogMetaService.java | 157 +++++
.../service/TestFunctionMetaService.java | 42 ++
.../relational/service/TestGroupMetaService.java | 60 ++
.../relational/service/TestSchemaMetaService.java | 146 +++++
.../relational/service/TestUserMetaService.java | 147 +++++
.../relational/service/TestViewMetaService.java | 41 ++
.../org/apache/gravitino/tag/TestTagManager.java | 167 ++++-
.../gravitino/utils/TestIsolatedClassLoader.java | 12 +
.../gravitino/utils/TestMetadataObjectUtil.java | 11 +
design-docs/gravitino-role-assumption.md | 366 +++++++++++
.../templates/httproute.yaml | 67 ++
.../templates/ingress.yaml | 2 +-
.../tests/httproute_test.yaml | 205 ++++++
.../tests/ingress_test.yaml | 9 +
.../gravitino-iceberg-rest-server/values.yaml | 19 +
.../templates/httproute.yaml | 67 ++
.../templates/ingress.yaml | 2 +-
.../tests/httproute_test.yaml | 154 +++++
.../tests/ingress_test.yaml | 9 +
dev/charts/gravitino-lance-rest-server/values.yaml | 19 +
dev/charts/gravitino/templates/httproute.yaml | 67 ++
dev/charts/gravitino/templates/ingress.yaml | 4 +-
dev/charts/gravitino/tests/httproute_test.yaml | 154 +++++
dev/charts/gravitino/tests/ingress_test.yaml | 9 +
dev/charts/gravitino/values.yaml | 19 +
docs/fileset-catalog-with-cos.md | 544 ++++++++++++++++
docs/fileset-catalog.md | 12 +-
docs/gravitino-mcp-server.md | 31 +-
docs/gravitino-server-config.md | 8 +-
docs/iceberg-rest-service.md | 68 +-
docs/jdbc-clickhouse-catalog.md | 11 +-
docs/jdbc-doris-catalog.md | 186 ++++--
docs/lakehouse-iceberg-catalog.md | 67 +-
docs/manage-relational-metadata-using-gravitino.md | 16 +
docs/manage-tags-in-gravitino.md | 10 +-
docs/open-api/catalogs.yaml | 49 ++
docs/open-api/datatype.yaml | 73 +--
docs/open-api/filesets.yaml | 1 -
docs/open-api/groups.yaml | 9 +-
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 | 67 +-
docs/open-api/tags.yaml | 4 +-
docs/open-api/users.yaml | 18 +-
docs/security/access-control.md | 42 +-
docs/security/credential-vending.md | 16 +-
...partitioning-distribution-sort-order-indexes.md | 13 +-
.../flink/connector/jdbc/GravitinoJdbcCatalog.java | 12 +-
.../connector/jdbc/JdbcPropertiesConstants.java | 1 +
.../connector/integration/test/FlinkCommonIT.java | 21 +-
.../store/TestGravitinoSessionCatalogStore.java | 10 +
flink-connector/v1.18/flink/build.gradle.kts | 1 +
flink-connector/v1.19/flink/build.gradle.kts | 1 +
flink-connector/v1.20/flink/build.gradle.kts | 1 +
gradle/libs.versions.toml | 2 +
.../iceberg/common/ClosableHiveCatalog.java | 78 +--
.../iceberg/common/ClosableJdbcCatalog.java | 108 ++++
.../iceberg/common/ops/IcebergCatalogWrapper.java | 6 +
.../iceberg/common/utils/IcebergCatalogUtil.java | 18 +-
.../common/utils/IcebergHiveCachedClientPool.java | 9 +-
.../iceberg/common/utils/KerberosCatalogUtils.java | 175 ++++++
.../JdbcCatalogWithMetadataLocationSupport.java | 3 +-
.../iceberg/common/TestClosableJdbcCatalog.java | 134 ++++
.../common/utils/TestIcebergCatalogUtil.java | 26 +-
.../common/utils/TestKerberosCatalogUtils.java | 64 ++
.../iceberg/service/CatalogWrapperForREST.java | 115 +++-
.../iceberg/service/FederatedCatalogWrapper.java | 124 ++++
.../service/IcebergCatalogWrapperManager.java | 5 +-
.../iceberg/service/IcebergRESTUtils.java | 44 ++
.../IcebergNamespaceEventDispatcher.java | 31 +
.../dispatcher/IcebergNamespaceHookDispatcher.java | 61 ++
.../IcebergNamespaceOperationDispatcher.java | 13 +
.../IcebergNamespaceOperationExecutor.java | 10 +
.../dispatcher/IcebergTableOperationExecutor.java | 6 +-
.../service/rest/IcebergConfigOperations.java | 1 +
.../service/rest/IcebergNamespaceOperations.java | 38 ++
.../service/rest/IcebergTableOperations.java | 13 +-
...iewEvent.java => IcebergRegisterViewEvent.java} | 22 +-
...t.java => IcebergRegisterViewFailureEvent.java} | 22 +-
...Event.java => IcebergRegisterViewPreEvent.java} | 19 +-
.../integration/test/IcebergRESTServiceBaseIT.java | 9 +
.../integration/test/IcebergRESTServiceIT.java | 8 +-
.../test/IcebergRestKerberosHiveCatalogIT.java | 125 ++--
...KerberosHiveWithUserImpersonationCatalogIT.java | 7 +-
....java => IcebergRestKerberosJdbcCatalogIT.java} | 89 ++-
...erberosJdbcWithUserImpersonationCatalogIT.java} | 22 +-
.../test/IcebergRestKerberosTestEnv.java | 253 ++++++++
.../util/IcebergRESTServerManagerForDeploy.java | 93 +--
.../iceberg/service/TestCatalogWrapperForREST.java | 305 +++++++++
.../TestIcebergNamespaceHookDispatcher.java | 131 ++++
.../TestIcebergNamespaceOperationExecutor.java | 15 +
.../service/rest/CatalogWrapperForTest.java | 44 ++
.../iceberg/service/rest/IcebergTestBase.java | 9 +
.../service/rest/TestIcebergTableOperations.java | 110 ++++
.../service/rest/TestIcebergViewOperations.java | 53 ++
.../docker-script/compose-env.sh | 21 +-
...ompose.yaml => docker-compose-trino-mysql.yaml} | 84 +--
.../docker-script/docker-compose.yaml | 14 +-
.../docker-script/inspect_ip.sh | 21 +-
integration-test-common/docker-script/launch.sh | 65 +-
integration-test-common/docker-script/shutdown.sh | 14 +-
.../doris-docker-script/docker-compose.yaml | 35 +-
.../doris-docker-script/start-be.sh | 13 +-
.../integration/test/container/ContainerSuite.java | 28 +-
.../integration/test/container/DorisContainer.java | 40 +-
.../{PGImageName.java => DorisImageName.java} | 25 +-
.../test/container/TrinoITContainers.java | 97 ++-
.../gravitino/GravitinoLanceTableOperations.java | 16 +-
.../rest/TestGravitinoLanceTableOperations.java | 34 +
mcp-server/mcp_server/client/catalog_operation.py | 24 +
mcp-server/mcp_server/client/fileset_operation.py | 31 +
mcp-server/mcp_server/client/model_operation.py | 78 +++
.../plain/plain_rest_client_catalog_operation.py | 46 ++
.../plain/plain_rest_client_fileset_operation.py | 68 +-
.../plain/plain_rest_client_model_operation.py | 147 ++++-
.../plain/plain_rest_client_schema_operation.py | 32 +
.../plain/plain_rest_client_table_operation.py | 63 ++
.../plain/plain_rest_client_tag_operation.py | 9 +-
.../plain/plain_rest_client_topic_operation.py | 53 +-
mcp-server/mcp_server/client/plain/utils.py | 6 +
mcp-server/mcp_server/client/schema_operation.py | 18 +
mcp-server/mcp_server/client/table_operation.py | 33 +
mcp-server/mcp_server/client/tag_operation.py | 4 +-
mcp-server/mcp_server/client/topic_operation.py | 28 +
mcp-server/mcp_server/tools/catalog.py | 109 ++++
mcp-server/mcp_server/tools/fileset.py | 104 +++-
mcp-server/mcp_server/tools/model.py | 243 ++++++++
mcp-server/mcp_server/tools/schema.py | 79 +++
mcp-server/mcp_server/tools/table.py | 124 ++++
mcp-server/mcp_server/tools/tag.py | 18 +-
mcp-server/mcp_server/tools/topic.py | 83 +++
mcp-server/pyproject.toml | 4 +-
mcp-server/tests/integration/test_authz_e2e.py | 9 -
mcp-server/tests/unit/client/test_url_encoding.py | 139 ++++-
mcp-server/tests/unit/tools/mock_operation.py | 182 ++++++
mcp-server/tests/unit/tools/test_catalog.py | 87 +++
mcp-server/tests/unit/tools/test_fileset.py | 84 +++
mcp-server/tests/unit/tools/test_model.py | 162 +++++
mcp-server/tests/unit/tools/test_schema.py | 69 +++
mcp-server/tests/unit/tools/test_table.py | 104 ++++
mcp-server/tests/unit/tools/test_tag.py | 52 +-
mcp-server/tests/unit/tools/test_topic.py | 56 ++
.../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 | 4 +-
.../authentication/KerberosAuthenticator.java | 4 +-
.../authorization/GravitinoAuthorizerProvider.java | 2 +-
.../server/authorization/MetadataAuthzHelper.java | 2 +-
.../authorization/jcasbin/JcasbinAuthorizer.java | 246 +++++---
.../jcasbin/JcasbinLoadedRolesCache.java | 8 +
.../apache/gravitino/server/web/JettyServer.java | 14 +-
.../authentication/TestKerberosAuthenticator.java | 4 +-
.../jcasbin/TestJcasbinAuthorizer.java | 432 ++++++++++++-
.../apache/gravitino/server/web/ConfigServlet.java | 38 +-
.../server/web/rest/ExceptionHandlers.java | 10 +
.../gravitino/server/web/rest/GroupOperations.java | 12 +-
.../gravitino/server/web/rest/OwnerOperations.java | 4 +-
.../server/web/rest/PermissionOperations.java | 4 +-
.../server/web/rest/SchemaOperations.java | 2 +-
.../gravitino/server/web/rest/UserOperations.java | 15 +-
.../gravitino/server/web/TestConfigServlet.java | 39 ++
.../server/web/rest/TestGroupOperations.java | 32 +
.../web/rest/TestMetadataObjectTagOperations.java | 262 +++++++-
.../server/web/rest/TestUserOperations.java | 34 +
settings.gradle.kts | 1 +
.../spark/connector/jdbc/GravitinoJdbcCatalog.java | 5 +
.../connector/jdbc/JdbcPropertiesConverter.java | 8 +-
.../connector/version/CatalogNameAdaptor.java | 8 +-
.../jdbc/TestJdbcPropertiesConverter.java | 23 +
.../GravitinoPostgreSqlCatalogSpark33.java | 2 +-
.../connector/version/TestCatalogNameAdaptor.java | 8 +
.../GravitinoPostgreSqlCatalogSpark34.java | 2 +-
.../connector/version/TestCatalogNameAdaptor.java | 8 +
.../GravitinoPostgreSqlCatalogSpark35.java | 2 +-
.../connector/version/TestCatalogNameAdaptor.java | 8 +
.../connector/integration/test/TrinoQueryIT.java | 5 +-
.../integration/test/TrinoQueryITBase.java | 28 +-
.../integration/test/TrinoQueryTestTool.java | 6 +
.../trino-test-tools/trino_integration_test.sh | 19 +
.../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 +-
.../test/web/ui/CatalogsPageDorisTest.java | 3 +-
.../integration/test/web/ui/CatalogsPageTest.java | 9 +-
web-v2/web/package.json | 2 +-
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 +-
.../test/web/ui/CatalogsPageDorisTest.java | 3 +-
.../integration/test/web/ui/CatalogsPageTest.java | 9 +-
489 files changed, 22544 insertions(+), 3327 deletions(-)
copy
api/src/main/java/org/apache/gravitino/credential/{OSSSecretKeyCredential.java
=> COSSecretKeyCredential.java} (62%)
copy bundles/{aws-bundle => tencent-bundle}/build.gradle.kts (63%)
copy bundles/{aliyun => tencent}/build.gradle.kts (88%)
copy
bundles/{aliyun/src/main/java/org/apache/gravitino/oss/credential/OSSSecretKeyProvider.java
=>
tencent/src/main/java/org/apache/gravitino/cos/credential/COSSecretKeyProvider.java}
(65%)
create mode 100644
bundles/tencent/src/main/java/org/apache/gravitino/cos/fs/COSCredentialsProvider.java
create mode 100644
bundles/tencent/src/main/java/org/apache/gravitino/cos/fs/COSFileSystemProvider.java
copy bundles/{aliyun/src/main/java/org/apache/gravitino/oss/fs/OSSUtils.java
=> tencent/src/main/java/org/apache/gravitino/cos/fs/COSUtils.java} (65%)
copy bundles/{gcp =>
tencent}/src/main/resources/META-INF/services/org.apache.gravitino.catalog.hadoop.fs.FileSystemProvider
(94%)
copy bundles/{gcp =>
tencent}/src/main/resources/META-INF/services/org.apache.gravitino.credential.CredentialProvider
(93%)
create mode 100644
bundles/tencent/src/test/java/org/apache/gravitino/cos/credential/TestCOSCredentialProvider.java
create mode 100644
bundles/tencent/src/test/java/org/apache/gravitino/cos/fs/TestCOSCredentialsProvider.java
create mode 100644
bundles/tencent/src/test/java/org/apache/gravitino/cos/fs/TestCOSFileSystemProvider.java
create mode 100644
catalogs-contrib/catalog-jdbc-clickhouse/src/test/java/org/apache/gravitino/catalog/clickhouse/operations/TestClickHouseTableOperationsUnit.java
create mode 100644
catalogs/catalog-common/src/main/java/org/apache/gravitino/credential/config/COSCredentialConfig.java
copy core/src/main/java/org/apache/gravitino/storage/IdGenerator.java =>
catalogs/catalog-common/src/main/java/org/apache/gravitino/storage/COSProperties.java
(54%)
copy
catalogs/catalog-fileset/src/test/java/org/apache/gravitino/catalog/fileset/integration/test/{FilesetOSSCatalogIT.java
=> FilesetCOSCatalogIT.java} (65%)
create mode 100644
catalogs/catalog-jdbc-doris/src/test/java/org/apache/gravitino/catalog/doris/integration/test/CatalogDoris3xIT.java
create mode 100644
catalogs/catalog-jdbc-doris/src/test/java/org/apache/gravitino/catalog/doris/integration/test/CatalogDoris4xIT.java
create mode 100644
catalogs/catalog-lakehouse-generic/src/test/java/org/apache/gravitino/catalog/lakehouse/lance/TestLanceConcurrentRepairStress.java
create mode 100644
catalogs/catalog-lakehouse-iceberg/src/test/java/org/apache/gravitino/catalog/lakehouse/iceberg/TestIcebergTablePropertiesMetadata.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
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
copy clients/client-python/{gravitino/api =>
tests/unittests/fixtures}/__init__.py (100%)
create mode 100644
clients/client-python/tests/unittests/fixtures/table_fixtures.py
copy
clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/integration/test/{GravitinoVirtualFileSystemOSSIT.java
=> GravitinoVirtualFileSystemCOSIT.java} (63%)
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/main/java/org/apache/gravitino/utils/RemoteFileDownloader.java
create mode 100644 common/src/main/java/org/apache/gravitino/utils/SafeUri.java
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
common/src/test/java/org/apache/gravitino/utils/TestRemoteFileDownloader.java
copy core/src/test/java/org/apache/gravitino/utils/TestByteUtils.java =>
common/src/test/java/org/apache/gravitino/utils/TestSafeUri.java (51%)
create mode 100644
core/src/main/java/org/apache/gravitino/SupportsExternalIdOperations.java
copy
core/src/main/java/org/apache/gravitino/authorization/{UserGroupManager.java =>
UserGroupExternalManager.java} (50%)
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/DisableUserEvent.java
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{policy/GetPolicyFailureEvent.java
=> DisableUserFailureEvent.java} (52%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{ListCatalogPreEvent.java
=> DisableUserPreEvent.java} (55%)
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/EnableUserEvent.java
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{policy/GetPolicyFailureEvent.java
=> EnableUserFailureEvent.java} (52%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{CreateFilesetPreEvent.java
=> EnableUserPreEvent.java} (57%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{GetGroupEvent.java
=> GetGroupByExternalIdEvent.java} (52%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{ListFilesPreEvent.java
=> GetGroupByExternalIdFailureEvent.java} (59%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{ListFilesPreEvent.java
=> GetGroupByExternalIdPreEvent.java} (61%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{GetUserEvent.java
=> GetUserByExternalIdEvent.java} (57%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{AlterSchemaFailureEvent.java
=> GetUserByExternalIdFailureEvent.java} (51%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{AlterFilesetPreEvent.java
=> GetUserByExternalIdPreEvent.java} (54%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{view/DropViewEvent.java
=> RemoveGroupByExternalIdEvent.java} (58%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{ListFilesPreEvent.java
=> RemoveGroupByExternalIdFailureEvent.java} (59%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{ListFilesPreEvent.java
=> RemoveGroupByExternalIdPreEvent.java} (61%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{DeleteModelEvent.java
=> RemoveUserByExternalIdEvent.java} (52%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{ListMetalakeFailureEvent.java
=> RemoveUserByExternalIdFailureEvent.java} (51%)
copy
core/src/main/java/org/apache/gravitino/listener/api/event/{AlterFilesetPreEvent.java
=> RemoveUserByExternalIdPreEvent.java} (54%)
create mode 100644
core/src/test/java/org/apache/gravitino/catalog/TestCapabilityHelpers.java
create mode 100644 design-docs/gravitino-role-assumption.md
create mode 100644
dev/charts/gravitino-iceberg-rest-server/templates/httproute.yaml
create mode 100644
dev/charts/gravitino-iceberg-rest-server/tests/httproute_test.yaml
create mode 100644
dev/charts/gravitino-lance-rest-server/templates/httproute.yaml
create mode 100644
dev/charts/gravitino-lance-rest-server/tests/httproute_test.yaml
create mode 100644 dev/charts/gravitino/templates/httproute.yaml
create mode 100644 dev/charts/gravitino/tests/httproute_test.yaml
create mode 100644 docs/fileset-catalog-with-cos.md
create mode 100644
iceberg/iceberg-common/src/main/java/org/apache/gravitino/iceberg/common/ClosableJdbcCatalog.java
create mode 100644
iceberg/iceberg-common/src/main/java/org/apache/gravitino/iceberg/common/utils/KerberosCatalogUtils.java
create mode 100644
iceberg/iceberg-common/src/test/java/org/apache/gravitino/iceberg/common/TestClosableJdbcCatalog.java
create mode 100644
iceberg/iceberg-common/src/test/java/org/apache/gravitino/iceberg/common/utils/TestKerberosCatalogUtils.java
copy
iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/{IcebergReplaceViewEvent.java
=> IcebergRegisterViewEvent.java} (73%)
copy
iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/{IcebergReplaceViewFailureEvent.java
=> IcebergRegisterViewFailureEvent.java} (67%)
copy
iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/{IcebergViewExistsEvent.java
=> IcebergRegisterViewPreEvent.java} (69%)
copy
iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/integration/test/{IcebergRESTJdbcCatalogIT.java
=> IcebergRestKerberosJdbcCatalogIT.java} (51%)
copy
iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/integration/test/{IcebergRestKerberosHiveWithUserImpersonationCatalogIT.java
=> IcebergRestKerberosJdbcWithUserImpersonationCatalogIT.java} (87%)
create mode 100644
iceberg/iceberg-rest-server/src/test/java/org/apache/gravitino/iceberg/integration/test/IcebergRestKerberosTestEnv.java
copy dev/docker/kerberos-hive/check-status.sh =>
integration-test-common/docker-script/compose-env.sh (70%)
mode change 100755 => 100644
copy integration-test-common/docker-script/{docker-compose.yaml =>
docker-compose-trino-mysql.yaml} (51%)
copy
integration-test-common/src/test/java/org/apache/gravitino/integration/test/container/{PGImageName.java
=> DorisImageName.java} (55%)
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%)