This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/gradle/flinkjdbc21-4.1.0-2.2
in repository https://gitbox.apache.org/repos/asf/gravitino.git
omit 355344cb2b build(deps): bump flinkjdbc21 from 4.1.0-2.1 to 4.1.0-2.2
add ba47e2225a [#12613] feat(client-python): Add Semantic Model DTOs and
serialization (#12859)
add 0e2233aa21 [#12594] feat(authz): Add Semantic Model ownership and
privilege support (#12867)
add 42ba56320c [#12615] feat(tag): Add tag support for Semantic Models
(#12870)
add 8574ed9b90 [#13637] Retry and fall back when fetching libssl1.1 in CI
(#13639)
add 5af40fd4d9 [#13573] fix: slow metadata reads caused by NoOpsCache lock
contention (#13574)
add 8769b54b86 [#3560] improvement(client-python): Fix too-many-arguments
and too-many-positional-arguments Pylint rules (#13671)
add 040e298517 [#3767] refactor(client-python): Share table-driven error
handler base to reduce duplicate code (#13672)
add 73f2ddd913 [#12759] docs: add design doc for tag-based access control
(#12757)
add 2d63db89d9 [#13678] fix(core): make a cancelled local job end as
CANCELLED (#13679)
add dcdf5503e3 [#13637] Make release re-runs safe after a partial failure
(#13638)
add 3207d8f5f9 [#13685] fix(gvfs): Support Basic authentication in Java
client (#13688)
add cf725eeeb3 [#13637] docs: fix checksum algorithm in
how-to-sign-releases (#13643)
add 576d7d8084 [MINOR] docs: fix skill frontmatter position and document
vote + GitHub release stages (#13640)
add 6d4058d81e [#13545] docs: design tag-based Iceberg read restrictions
(#13546)
add 65f44cd106 [#11195] feat(maintenance): Integrate orphan cleanup
policies with the optimizer (#13531)
add a0c3e63503 [#13686] fix(iceberg-rest): Preserve
WebApplicationException HTTP status (#13687)
add 3d2bd431bb [#12516] fix(scripts): make 1.3 to 2.0 upgrades retryable
(#13689)
add 2c18230c18 [#10270] test(core): Guard @Param("roleId") binding on
RoleMetaMapper.softDeleteRoleMetaByRoleId (#13666)
add 62240804b7 [#13697] improvement(trino-connector): Load catalogs with a
single detailed listing on refresh (#13698)
add d429c341b5 [#13680] fix: accept PascalCase ExistOk as a Lance create
mode (#13681)
add 98281f7269 [#13160] fix(postgresql): Preserve unsupported constrained
NUMERIC types (#13163)
add db0dbdedf7 [#13582] improvement(core): Make JDBC idle connection
retention configurable (#13620)
add 34272ba4fa [#13692] feat(policy): define read restriction policy
(#13693)
add b15b420b6c [#13592] fix(jdbc): Use driver validation for catalog
connection pools (#13600)
add 51fb2d29c7 [#13581] improvement(core): Drain change-log backlog
without waiting the poll interval after a full batch (#13619)
add 371ac41870 [#13555][#13566][#13567][#13587] feat(core): Let job
executors decide how to handle job resources through JobContext (#13563)
add e96a2fb902 [#13605] fix(authz): Reload role policies cleared between
checks of one authorization request (#13606)
add 7ff63ddbfd [#13614] improvement(spark-connector): Upgrade Kyuubi Spark
Hive connector to 1.12.0 to support dynamic partition pruning (#13615)
add d71f7121db [#13580] fix(core): Avoid deadlock between cache eviction
and segment locks (#13702)
add 79527d7669 [#10166] fix(server): reject null request bodies in bulk
role and run-job operations (#13670)
add 2ebf08fa2a [#13540] feat(semantic-model): Add Ossie import and export
(#13571)
add 10d51bd966 [#12594][followup] fix(authz): Clarify semantic model
privilege naming and filtering (#13718)
add 912302110a [#13557] fix(core): Invalidate the authorizer name-id
mapping on model, tag, policy and job template rename or delete (#13558)
add 278102990e [#13547] fix(mysql): Handle decimal precision beyond
Gravitino limit (#13548)
add c5ac5b0cbd [#12595] feat(core): Add event listener support for
Semantic Model operations (#13458)
add ddbc9a20c7 [MINOR] refactor(server): Share Iceberg REST service URI
resolution (#13738)
add 4718fc54db [#13480] improvement(core): add a connector SPI to resolve
physical table names (#13481)
add 0237d79b73 [#13726] feat(policy): Support Iceberg rewrite strategy and
sort order (#13727)
add 3a449c59d2 [#13490] feat(clickhouse): support quarter/year start
partition transforms (#13492)
add b63f010793 [#13736] fix(python-client): make close idempotent (#13741)
add 9014793d4c [#13591] fix(jdbc): Avoid nested connection borrows in JDBC
catalog operations (#13729)
add 0782dd9a0e [#13694] fix(authorization): Normalize metadata ID cache
keys (#13699)
add f887d0dc5f [MINOR] docs(client-python): document explicit client
cleanup (#13745)
add 3b92859318 [#13521] fix(core): delete legacy table versions by row on
PostgreSQL, not by table id (#13526)
add c17fc03b01 [#13447] fix(core): re-insert updated columns at their
current index in bundled alters (#13448)
add 14b0e7d818 [#13338] fix(lance): Preserve Lance blob columns as
readable external types (#13390)
add f8acb110ff [#13376] feat(clickhouse): preserve legacy Annoy and
USearch index metadata (#13432)
add e28a72c5f0 [MINOR] docs: state that supportedObjectTypes is not
enforced in the OpenAPI spec (#13758)
add c732bfa5de [#12594] feat(server): Authorize Semantic Model REST and
validate sources (#13512)
add 27eed7ecba [#12609] docs(open-api): Add Semantic Model REST API
(#12627)
add 8bd56bd493 [#13177] fix(core): Add statistic CAS and live-target
checks (#13487)
add 7a4f230f3e [#12903] fix(trino-connector): Keep MySQL time/timestamp
precision in the Trino connector (#12906)
add aa0fd7245e [MINOR] test(server): Fix stale Ossie import assertion
(#13772)
add b9a8632eae [#13224] fix(api): roll back registered model when
registerModel version linking fails (#13225)
add 383c96a7aa [#12614] feat(client-python): Add Semantic Model catalog
operations (#12860)
add a853a14544 [#12594] fix(server): Check semantic source capabilities
before lookup (#13763)
add afb28398d6 [#13488] docs: Add Table Maintenance Service design (#13386)
add b837e07a93 [#13731] improvement(core): Remove TreeLock from partition,
tag, policy, owner, model and table statistic operations (#13737)
add 878240b75d [MINOR] fix(fileset): validate sub-path resolution (#13721)
add 4f11ac17b8 [#13761] feat(tms): plugins/tms skeleton, DDL, and DAOs
(#13762)
add 40aab9d43a [#13765] feat(policy): Add TMS policy content fields and
REST round-trip (#13766)
add 2d4796baad [#13767] improve(core,jdbc): verify JDBC catalog backend
reachable at create (#13769)
add cb0accec80 [#12614] feat(python): Support Ossie Semantic Model import
and export (#13795)
add 0817563e8b [#13808] fix(client-python): Complete Semantic Model
authorization mappings (#13793)
add de25ce3bd8 [#13781] fix(client): Encode spaces as %20 in REST path
segments (#13784)
add 9223348fc8 [#13809] fix(core): Clarify catalog drop errors for
unreachable backends (#13810)
add 48572b5eb7 [#13613] feat(k8s-job-executor): Add the k8s job executor
module with its configurations and Kubernetes connection (part 1/3) (#13724)
add 1edfaf5399 [MINOR] docs(trino-connector): Clarify IRC access without a
forwarded token (#13785)
add f3bd25d546 [#12610] feat(client): Add Semantic Model Java client
(#12628)
add 880032f6af [#13782] fix(trino-connector): Report authorization and
validation refusals as user errors (#13787)
add 61addf63ed [#13775] feat(mcp-server): Add Semantic Model tools (#13804)
add bd301d1bb3 [#13719] feat(policy): add restricted Rego parser for read
restrictions (#13478)
add e5b3528a26 [#13783] fix(trino-connector): Report querying a Gravitino
view as not supported (#13788)
add 51a316e320 [#13613] feat(k8s-job-executor): Build the SparkApplication
of a Spark job and map its state to the job status (part 2/3) (#13725)
add f58ea84310 [#13773] feat(tms): Add scheduler pools and soft-slot
occupancy claim (#13774)
add 294dbf8ff9 [#12614] feat(client-python): Support Semantic Model tags
and owners (#13794)
add b354e8fcbe [#13786] feat(core): Add Semantic Model import/export
events (#13791)
add 46cbef5bdd [#13748] fix(auth): Isolate request-specific role
membership (#13747)
add ff256c0ea5 [#13739] feat(flink-connector): Support Apache Flink 2.2
(#13740)
new f5668e8566 build(deps): bump flinkjdbc21 from 4.1.0-2.1 to 4.1.0-2.2
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (355344cb2b)
\
N -- N -- N refs/heads/dependabot/gradle/flinkjdbc21-4.1.0-2.2
(f5668e8566)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../workflows/backend-integration-test-action.yml | 11 +-
.github/workflows/build.yml | 10 +-
.github/workflows/contrib-catalog-test.yml | 10 +-
.../workflows/flink-integration-test-action.yml | 4 +-
.../iceberg-rest-trino-integration-test-action.yml | 10 +-
.../workflows/trino-integration-test-action.yml | 2 +
.../workflows/trino-multi-version-test-action.yml | 2 +
LICENSE.bin | 8 +
agent-skills/gravitino-release/SKILL.md | 75 +-
agent-skills/trino-test/SKILL.md | 16 +-
.../apache/gravitino/authorization/Privilege.java | 8 +-
.../apache/gravitino/authorization/Privileges.java | 122 +-
.../gravitino/authorization/SecurableObjects.java | 16 +
.../org/apache/gravitino/file/FilesetCatalog.java | 12 +
.../java/org/apache/gravitino/job/JobHandle.java | 2 +-
.../org/apache/gravitino/job/ShellJobTemplate.java | 5 +
.../org/apache/gravitino/model/ModelCatalog.java | 33 +-
.../apache/gravitino/policy/ColumnMaskContent.java | 91 +
.../policy/IcebergDataCompactionContent.java | 85 +-
.../policy/IcebergOrphanFileRemovalContent.java | 163 ++
.../policy/IcebergRewriteManifestsContent.java | 90 +
.../policy/IcebergSnapshotExpirationContent.java | 90 +
.../java/org/apache/gravitino/policy/Policy.java | 25 +-
.../apache/gravitino/policy/PolicyContents.java | 115 ++
.../gravitino/policy/ReadRestrictionContent.java | 52 +
.../apache/gravitino/policy/RowFilterContent.java | 91 +
.../apache/gravitino/rel/SupportsPartitions.java | 10 +-
.../org/apache/gravitino/rel/indexes/Index.java | 6 +
.../apache/gravitino/semantic/AIContextObject.java | 52 +-
.../apache/gravitino/semantic/CustomExtension.java | 6 +
.../apache/gravitino/semantic/OssieDocument.java | 96 +
.../org/apache/gravitino/semantic/OssieFormat.java | 14 +-
.../apache/gravitino/semantic/OssieVersion.java | 15 +-
.../apache/gravitino/semantic/SemanticModel.java | 34 +
.../gravitino/semantic/SemanticModelCatalog.java | 49 +
.../apache/gravitino/stats/SupportsStatistics.java | 16 +
.../org/apache/gravitino/tag/SupportsTags.java | 6 +-
.../authorization/TestSecurableObjects.java | 83 +
.../apache/gravitino/model/TestModelCatalog.java | 228 +++
.../TestIcebergOrphanFileRemovalContent.java | 97 +
.../gravitino/policy/TestPolicyBuiltInType.java | 33 +
.../gravitino/policy/TestPolicyContents.java | 53 +
.../policy/TestReadRestrictionContent.java | 97 +
.../gravitino/semantic/TestOssieDocument.java | 67 +
.../semantic/TestSemanticModelCatalog.java | 13 +
.../semantic/TestSemanticModelSupportingTypes.java | 31 +-
build.gradle.kts | 3 +-
.../catalog/clickhouse/ClickHouseConstants.java | 21 +
.../operations/ClickHouseTableOperations.java | 239 ++-
.../operations/ClickHouseTableSqlUtils.java | 25 +
.../integration/test/CatalogClickHouseIT.java | 235 ++-
...stClickHouseTableOperationsConnectionUsage.java | 67 +
.../TestClickHouseTableOperationsPartitioning.java | 38 +-
.../TestClickHouseTableOperationsUnit.java | 464 ++++-
.../operation/OceanBaseTableOperations.java | 23 +-
...estOceanBaseTableOperationsConnectionUsage.java | 80 +
.../catalog/fileset/FilesetCatalogOperations.java | 64 +-
.../fileset/TestFilesetCatalogOperations.java | 280 +++
.../apache/gravitino/catalog/jdbc/JdbcCatalog.java | 46 +
.../catalog/jdbc/JdbcCatalogOperations.java | 169 +-
.../jdbc/JdbcCatalogPropertiesMetadata.java | 28 +-
.../gravitino/catalog/jdbc/config/JdbcConfig.java | 85 +
.../converter/JdbcColumnDefaultValueConverter.java | 4 +-
.../jdbc/operation/JdbcDatabaseOperations.java | 8 +-
.../jdbc/operation/JdbcTableOperations.java | 149 +-
.../catalog/jdbc/operation/TableOperation.java | 25 +
.../catalog/jdbc/utils/DataSourceUtils.java | 29 +-
.../catalog/jdbc/utils/JdbcConnectionTimeouts.java | 303 ++++
.../catalog/jdbc/TestJdbcCatalogOperations.java | 123 ++
.../jdbc/TestJdbcCatalogOperationsProbe.java | 204 +++
.../jdbc/TestJdbcCatalogPropertiesMetadata.java | 129 ++
.../catalog/jdbc/config/TestJdbcConfig.java | 17 +
.../TestJdbcOperationsConnectionUsage.java | 480 +++++
.../jdbc/utils/ConnectionCountingDataSource.java | 168 ++
.../jdbc/utils/TestDataSourceValidation.java | 193 ++
.../catalog/jdbc/utils/TestJdbcConfig.java | 43 +
.../jdbc/utils/TestJdbcConnectionTimeouts.java | 326 ++++
catalogs/catalog-jdbc-mysql/build.gradle.kts | 1 +
.../mysql/converter/MysqlTypeConverter.java | 21 +-
.../mysql/operation/MysqlTableOperations.java | 122 +-
.../catalog/mysql/TestMysqlDataSource.java | 144 ++
.../mysql/converter/TestMysqlTypeConverter.java | 12 +
.../mysql/integration/test/CatalogMysqlIT.java | 106 ++
.../mysql/operation/TestMysqlTableOperations.java | 59 +
.../TestMysqlTableOperationsSqlGeneration.java | 63 +
catalogs/catalog-jdbc-postgresql/build.gradle.kts | 1 +
.../converter/PostgreSqlTypeConverter.java | 15 +-
.../postgresql/TestPostgreSqlDataSource.java | 126 ++
.../converter/TestPostgreSqlTypeConverter.java | 15 +
.../integration/test/CatalogPostgreSqlIT.java | 32 +
.../catalog/kafka/TestKafkaCatalogOperations.java | 6 +
.../lakehouse/lance/LanceTableOperations.java | 27 +-
.../generic/TestGenericCatalogOperations.java | 6 +
.../lakehouse/lance/TestLanceTableOperations.java | 74 +
catalogs/catalog-model/build.gradle.kts | 1 +
.../catalog/model/TestModelCatalogOperations.java | 82 +-
clients/client-java/build.gradle.kts | 1 +
.../org/apache/gravitino/client/DTOConverters.java | 37 +
.../org/apache/gravitino/client/ErrorHandlers.java | 79 +
.../apache/gravitino/client/FilesetCatalog.java | 11 +-
.../gravitino/client/GenericSemanticModel.java | 200 +++
.../org/apache/gravitino/client/HTTPClient.java | 66 +-
.../org/apache/gravitino/client/RESTClient.java | 41 +
.../apache/gravitino/client/RelationalCatalog.java | 68 +-
.../client/SemanticModelCatalogOperations.java | 266 +++
.../gravitino/client/TestGenericSemanticModel.java | 140 ++
.../apache/gravitino/client/TestHTTPClient.java | 67 +
.../gravitino/client/TestRelationalCatalog.java | 24 +
.../gravitino/client/TestSemanticModelCatalog.java | 692 ++++++++
.../gravitino/client/TestSupportPolicies.java | 84 +-
.../apache/gravitino/client/TestSupportTags.java | 81 +
.../client/integration/test/SemanticModelIT.java | 1358 ++++++++++++++
.../gravitino/api/authorization/privileges.py | 107 +-
.../api/authorization/securable_objects.py | 24 +
.../client-python/gravitino/api/job/job_handle.py | 4 +-
.../client-python/gravitino/api/metadata_object.py | 3 +
.../gravitino/api/metadata_objects.py | 4 +-
.../gravitino/api/rel/indexes/index.py | 8 +
.../gravitino/api/semantic/ai_context_object.py | 39 +-
.../gravitino/api/semantic/semantic_model.py | 15 +
.../api/semantic/semantic_model_catalog.py | 57 +-
.../gravitino/api/stats/supports_statistics.py | 14 +
.../gravitino/client/generic_semantic_model.py | 120 ++
.../gravitino/client/relational_catalog.py | 19 +
.../client/semantic_model_catalog_operations.py | 310 ++++
.../dto/rel/indexes/json_serdes/index_serdes.py | 9 +-
.../dto/requests/semantic_model_create_request.py | 69 +
.../dto/requests/semantic_model_update_request.py | 144 ++
.../dto/requests/semantic_model_updates_request.py | 43 +
.../dto/responses/semantic_model_response.py | 56 +
.../gravitino/{api => dto/semantic}/__init__.py | 0
.../gravitino/dto/semantic/ai_context_dto.py | 77 +
.../dto/semantic/ai_context_object_dto.py | 97 +
.../gravitino/dto/semantic/custom_extension_dto.py | 56 +
.../gravitino/dto/semantic/dataset_dto.py | 139 ++
.../dto/semantic/dialect_expression_dto.py | 59 +
.../gravitino/dto/semantic/dimension_dto.py | 48 +
.../gravitino/dto/semantic/expression_dto.py | 58 +
.../gravitino/dto/semantic/field_dto.py | 155 ++
.../{api => dto/semantic/json_serdes}/__init__.py | 0
.../dto/semantic/json_serdes/ai_context_serdes.py | 104 ++
.../dto/semantic/json_serdes/data_type_serdes.py | 47 +
.../semantic/json_serdes/semantic_json_mixin.py | 74 +
.../gravitino/dto/semantic/metric_dto.py | 129 ++
.../gravitino/dto/semantic/relationship_dto.py | 127 ++
.../gravitino/dto/semantic/semantic_dto_utils.py | 47 +
.../dto/semantic/semantic_model_definition_dto.py | 122 ++
.../gravitino/dto/semantic/semantic_model_dto.py | 75 +
.../exceptions/handlers/catalog_error_handler.py | 59 +-
.../handlers/credential_error_handler.py | 26 +-
.../exceptions/handlers/fileset_error_handler.py | 40 +-
.../exceptions/handlers/function_error_handler.py | 51 +-
.../exceptions/handlers/group_error_handler.py | 49 +-
.../exceptions/handlers/job_error_handler.py | 64 +-
.../exceptions/handlers/metalake_error_handler.py | 32 +-
.../exceptions/handlers/model_error_handler.py | 79 +-
.../exceptions/handlers/owner_error_handler.py | 40 +-
.../exceptions/handlers/partition_error_handler.py | 61 +-
.../handlers/permission_error_handler.py | 65 +-
.../exceptions/handlers/rest_error_handler.py | 29 +
.../exceptions/handlers/role_error_handler.py | 67 +-
.../exceptions/handlers/schema_error_handler.py | 45 +-
.../exceptions/handlers/secret_error_handler.py | 23 +-
..._handler.py => semantic_model_error_handler.py} | 58 +-
.../handlers/statistics_error_handler.py | 67 +-
.../exceptions/handlers/table_error_handler.py | 62 +-
.../exceptions/handlers/tag_error_handler.py | 54 +-
.../exceptions/handlers/user_error_handler.py | 50 +-
.../exceptions/handlers/view_error_handler.py | 62 +-
.../client-python/gravitino/utils/http_client.py | 12 +-
clients/client-python/pylintrc | 8 +-
clients/client-python/requirements.txt | 1 +
.../test_semantic_model_authorization.py | 266 +++
.../tests/integration/test_semantic_model_ossie.py | 300 ++++
.../test_semantic_model_tags_and_owner.py | 319 ++++
.../test_semantic_model_supporting_types.py | 13 +-
.../unittests/auth/test_oauth2_token_provider.py | 23 +
.../unittests/authorization/test_privileges.py | 12 +
.../test_semantic_model_authorization.py | 169 ++
.../tests/unittests/dto/rel/test_index_serdes.py | 60 +
.../unittests/dto/semantic}/__init__.py | 0
.../semantic/test_semantic_model_definition_dto.py | 247 +++
.../dto/semantic/test_semantic_model_dto.py | 110 ++
.../semantic/test_semantic_wire_compatibility.py | 307 ++++
.../unittests/dto/test_semantic_model_rest.py | 137 ++
.../unittests/test_code_mapping_error_handler.py | 324 ++++
.../tests/unittests/test_error_handler.py | 104 ++
.../tests/unittests/test_gravitino_client.py | 17 +
.../tests/unittests/test_http_client_close.py | 58 +
.../tests/unittests/test_http_client_raw_body.py | 64 +
.../tests/unittests/test_metadata_objects.py | 2 +-
.../tests/unittests/test_semantic_model_catalog.py | 386 ++++
.../tests/unittests/test_semantic_model_ossie.py | 250 +++
.../test_semantic_model_tags_and_owner.py | 208 +++
.../GravitinoVirtualFileSystemConfiguration.java | 17 +-
.../hadoop/GravitinoVirtualFileSystemUtils.java | 25 +
.../filesystem/hadoop/TestBasicClient.java | 152 ++
.../java/org/apache/gravitino/dto/job/JobDTO.java | 4 +-
.../gravitino/dto/policy/PolicyContentDTO.java | 277 +++
.../org/apache/gravitino/dto/policy/PolicyDTO.java | 17 +-
.../dto/requests/PolicyCreateRequest.java | 17 +-
.../dto/requests/PolicyUpdateRequest.java | 17 +-
.../apache/gravitino/dto/util/DTOConverters.java | 61 +
.../java/org/apache/gravitino/rest/RESTUtils.java | 24 +-
.../org/apache/gravitino/utils/FileFetcher.java | 7 +-
.../dto/policy/TestOrphanFileRemovalPolicyDTO.java | 122 ++
.../apache/gravitino/dto/policy/TestPolicyDTO.java | 6 +
.../dto/policy/TestReadRestrictionPolicyDTO.java | 214 +++
...iteManifestsAndSnapshotExpirationPolicyDTO.java | 68 +
.../org/apache/gravitino/json/TestJsonUtils.java | 14 +
.../org/apache/gravitino/rest/TestRESTUtils.java | 10 +-
.../apache/gravitino/utils/TestFileFetcher.java | 19 +
conf/gravitino.conf.template | 3 +
core/build.gradle.kts | 6 +
.../cache/it/AbstractEntityStorageBenchmark.java | 8 +
.../main/java/org/apache/gravitino/Configs.java | 33 +
.../java/org/apache/gravitino/GravitinoEnv.java | 35 +-
.../java/org/apache/gravitino/audit/AuditLog.java | 49 +
.../gravitino/audit/v2/CompatibilityUtils.java | 7 +
.../authorization/AuthorizationRequestContext.java | 193 ++
.../authorization/AuthorizationUtils.java | 93 +-
.../authorization/FutureGrantManager.java | 15 +-
.../gravitino/authorization/OwnerManager.java | 95 +-
.../gravitino/authorization/PermissionManager.java | 81 +-
.../apache/gravitino/cache/BaseEntityCache.java | 23 +-
.../gravitino/cache/CaffeineEntityCache.java | 84 +-
.../org/apache/gravitino/cache/NoOpsCache.java | 15 +-
.../gravitino/catalog/CapabilityHelpers.java | 44 +
.../apache/gravitino/catalog/CatalogManager.java | 83 +-
.../apache/gravitino/catalog/FilesetFileOps.java | 6 +
.../gravitino/catalog/ManagedTableOperations.java | 15 +-
.../catalog/ModelOperationDispatcher.java | 227 +--
.../catalog/PartitionOperationDispatcher.java | 49 +-
.../gravitino/catalog/SemanticModelDispatcher.java | 160 +-
.../catalog/SemanticModelNormalizeDispatcher.java | 17 +
.../catalog/SemanticModelOperationDispatcher.java | 52 +-
.../gravitino/catalog/SemanticModelValidator.java | 21 +-
.../catalog/TableNormalizeDispatcher.java | 16 +-
.../apache/gravitino/connector/BaseCatalog.java | 15 +
.../connector/SupportsTableNameResolution.java | 80 +
.../apache/gravitino/connector/job/JobContext.java | 98 +
.../gravitino/connector/job/JobExecutor.java | 42 +-
.../gravitino/connector/job/JobResourceUtils.java | 234 +++
.../apache/gravitino/hook/JobHookDispatcher.java | 22 +-
.../apache/gravitino/hook/ModelHookDispatcher.java | 15 +-
.../gravitino/hook/PolicyHookDispatcher.java | 17 +-
.../hook/SemanticModelHookDispatcher.java | 147 ++
.../apache/gravitino/hook/TagHookDispatcher.java | 17 +-
.../apache/gravitino/hook/ViewHookDispatcher.java | 8 +-
.../apache/gravitino/job/JobExecutorFactory.java | 39 +
.../java/org/apache/gravitino/job/JobManager.java | 15 +-
.../apache/gravitino/job/JobTemplateResolver.java | 73 +-
.../gravitino/job/local/LocalJobExecutor.java | 125 +-
.../job/local/LocalJobExecutorConfigs.java | 9 +
.../gravitino/job/local/LocalProcessBuilder.java | 30 +-
.../gravitino/job/local/ShellProcessBuilder.java | 16 +-
.../gravitino/job/local/SparkProcessBuilder.java | 5 +-
.../listener/SemanticModelEventDispatcher.java | 221 +++
.../listener/api/event/OperationType.java | 11 +
.../event/semantic/AlterSemanticModelEvent.java | 74 +
.../semantic/AlterSemanticModelFailureEvent.java | 64 +
.../event/semantic/AlterSemanticModelPreEvent.java | 62 +
.../event/semantic/CreateSemanticModelEvent.java | 58 +
.../semantic/CreateSemanticModelFailureEvent.java | 62 +
.../semantic/CreateSemanticModelPreEvent.java | 58 +
.../api/event/semantic/DropSemanticModelEvent.java | 56 +
.../semantic/DropSemanticModelFailureEvent.java | 46 +
.../event/semantic/DropSemanticModelPreEvent.java | 32 +-
.../event/semantic/ExportSemanticModelEvent.java | 57 +
.../semantic/ExportSemanticModelFailureEvent.java | 61 +
.../semantic/ExportSemanticModelPreEvent.java | 60 +
.../event/semantic/ImportSemanticModelEvent.java | 74 +
.../semantic/ImportSemanticModelFailureEvent.java | 73 +
.../semantic/ImportSemanticModelPreEvent.java | 72 +
.../api/event/semantic/ListSemanticModelEvent.java | 70 +
.../semantic/ListSemanticModelFailureEvent.java | 57 +
.../event/semantic/ListSemanticModelPreEvent.java | 56 +
.../api/event/semantic/LoadSemanticModelEvent.java | 58 +
.../semantic/LoadSemanticModelFailureEvent.java | 46 +
.../event/semantic/LoadSemanticModelPreEvent.java | 32 +-
.../api/event/semantic/SemanticModelEvent.java | 45 +
.../event/semantic/SemanticModelFailureEvent.java | 40 +
.../api/event/semantic/SemanticModelPreEvent.java | 27 +-
.../gravitino/listener/api/info/JobInfo.java | 2 +-
.../listener/api/info/SemanticModelInfo.java | 124 ++
.../java/org/apache/gravitino/meta/JobEntity.java | 6 +-
.../org/apache/gravitino/policy/PolicyManager.java | 281 ++-
.../gravitino/policy/rego/CanonicalExpression.java | 49 +
.../org/apache/gravitino/policy/rego/Column.java | 65 +
.../apache/gravitino/policy/rego/Comparison.java | 119 ++
.../gravitino/policy/rego/ComparisonOperator.java | 71 +
.../gravitino/policy/rego/ExpressionValidator.java | 146 ++
.../gravitino/policy/rego/GroupMembership.java | 65 +
.../org/apache/gravitino/policy/rego/Literal.java | 120 ++
.../apache/gravitino/policy/rego/LiteralArray.java | 83 +
.../rego/LiteralType.java} | 17 +-
.../gravitino/policy/rego/LogicalExpression.java | 112 ++
.../rego/LogicalOperator.java} | 21 +-
.../java/org/apache/gravitino/policy/rego/Not.java | 67 +
.../rego/RestrictedRegoExpressionParserFacade.java | 105 ++
.../gravitino/policy/rego/RestrictedRegoLexer.java | 322 ++++
.../policy/rego/RestrictedRegoLimits.java | 24 +-
.../policy/rego/RestrictedRegoProgram.java | 410 +++++
.../policy/rego/RestrictedRegoSourceParser.java | 358 ++++
.../policy/rego/RestrictedRegoSourceValidator.java | 113 ++
.../apache/gravitino/policy/rego/SessionUser.java | 35 +-
.../gravitino/semantic/OssieDocumentConverter.java | 994 +++++++++++
.../semantic/SemanticModelPropertiesMetadata.java | 64 +
.../apache/gravitino/stats/StatisticManager.java | 41 +-
.../storage/relational/EntityChangeLogPoller.java | 186 +-
.../storage/relational/EntityChangeLogWriter.java | 51 +
.../gravitino/storage/relational/JDBCBackend.java | 22 +-
.../storage/relational/RelationalEntityStore.java | 4 +-
.../mapper/OwnerMetaSQLProviderFactory.java | 4 +
.../relational/mapper/SemanticModelMetaMapper.java | 16 +
.../relational/mapper/StatisticMetaMapper.java | 44 +-
.../mapper/StatisticSQLProviderFactory.java | 44 +-
.../provider/base/StatisticBaseSQLProvider.java | 104 +-
.../postgresql/StatisticPostgresSQLProvider.java | 31 -
.../postgresql/TableVersionPostgreSQLProvider.java | 5 +-
.../relational/service/JobTemplateMetaService.java | 16 +-
.../relational/service/LiveEndpointService.java | 4 +-
.../relational/service/MetadataObjectService.java | 32 +
.../relational/service/ModelMetaService.java | 41 +-
.../service/ModelVersionMetaService.java | 210 ++-
.../OrphanedMetadataObjectRelationService.java | 4 +
.../service/SemanticModelMetaService.java | 46 +-
.../relational/service/StatisticMetaService.java | 351 +++-
.../storage/relational/service/TagMetaService.java | 34 +-
.../session/SqlSessionFactoryHelper.java | 12 +-
.../java/org/apache/gravitino/tag/TagManager.java | 560 +++---
.../apache/gravitino/utils/EntityClassMapper.java | 6 +
.../apache/gravitino/utils/MetadataObjectUtil.java | 7 +
.../java/org/apache/gravitino/TestCatalog.java | 17 +
.../test/java/org/apache/gravitino/TestConfig.java | 14 +
.../TestGravitinoEnvMetadataComponents.java | 23 +-
.../org/apache/gravitino/audit/TestOperation.java | 101 ++
.../gravitino/audit/v2/TestCompatibilityUtils.java | 7 +
.../authorization/TestAccessControlManager.java | 6 +
.../TestAccessControlManagerForPermissions.java | 88 +
.../TestAuthorizationRequestContext.java | 274 +++
.../authorization/TestAuthorizationUtils.java | 99 ++
.../authorization/TestFutureGrantManager.java | 90 +
.../gravitino/authorization/TestOwnerManager.java | 81 +-
.../gravitino/cache/TestBaseEntityCache.java | 14 +-
.../cache/TestCaffeineEntityCacheEviction.java | 336 ++++
.../org/apache/gravitino/cache/TestNoOpsCache.java | 132 ++
.../gravitino/catalog/TestCatalogManager.java | 203 ++-
.../catalog/TestManagedTableOperations.java | 48 +
.../catalog/TestModelOperationDispatcher.java | 94 +-
.../catalog/TestPartitionOperationDispatcher.java | 45 +
.../catalog/TestSemanticModelDispatcher.java | 97 +
.../TestSemanticModelNormalizeDispatcher.java | 61 +
.../TestSemanticModelOperationDispatcher.java | 255 ++-
.../catalog/TestSemanticModelValidator.java | 45 +
.../catalog/TestTableNormalizeDispatcher.java | 174 ++
.../gravitino/catalog/TreeLockTestSupport.java | 18 +-
.../gravitino/connector/TestCatalogOperations.java | 19 +
.../connector/job/TestJobExecutionInfo.java | 2 +-
.../gravitino/connector/job/TestJobExecutor.java | 125 ++
.../connector/job/TestJobResourceUtils.java | 403 +++++
.../gravitino/hook/TestFilesetHookDispatcher.java | 7 +
.../gravitino/hook/TestJobHookDispatcher.java | 71 +
.../gravitino/hook/TestModelHookDispatcher.java | 70 +
.../gravitino/hook/TestPolicyHookDispatcher.java | 71 +
.../hook/TestSemanticModelHookDispatcher.java | 302 ++++
.../gravitino/hook/TestTagHookDispatcher.java | 66 +
.../gravitino/hook/TestViewHookDispatcher.java | 23 +
.../gravitino/job/TestJobExecutorFactory.java | 166 +-
.../org/apache/gravitino/job/TestJobManager.java | 87 +-
.../gravitino/job/TestJobTemplateResolver.java | 346 +---
.../gravitino/job/local/TestLocalJobExecutor.java | 311 +++-
.../listener/api/event/TestSemanticModelEvent.java | 553 ++++++
.../event/TestSemanticModelImportExportEvent.java | 415 +++++
.../apache/gravitino/meta/TestPolicyEntity.java | 37 +
.../apache/gravitino/policy/TestPolicyManager.java | 214 ++-
.../policy/rego/RestrictedRegoTestUtils.java | 117 ++
.../apache/gravitino/policy/rego/TestColumn.java | 18 +-
.../gravitino/policy/rego/TestComparison.java | 54 +
.../policy/rego/TestComparisonOperator.java | 17 +-
.../gravitino/policy/rego/TestGroupMembership.java | 19 +-
.../apache/gravitino/policy/rego/TestLiteral.java | 48 +
.../gravitino/policy/rego/TestLiteralArray.java | 55 +
.../policy/rego/TestLogicalExpression.java | 65 +
.../org/apache/gravitino/policy/rego/TestNot.java | 26 +-
.../TestRestrictedRegoExpressionParserFacade.java | 126 ++
.../policy/rego/TestRestrictedRegoGoldenFile.java | 176 ++
.../policy/rego/TestRestrictedRegoLexer.java | 81 +
.../policy/rego/TestRestrictedRegoProgram.java | 113 ++
.../rego/TestRestrictedRegoSourceParser.java | 256 +++
.../rego/TestRestrictedRegoSourceValidator.java | 164 ++
.../gravitino/policy/rego/TestSessionUser.java | 17 +-
.../semantic/TestOssieDocumentConverter.java | 876 +++++++++
.../TestSemanticModelPropertiesMetadata.java | 46 +
.../gravitino/stats/TestStatisticManager.java | 84 +
.../storage/AbstractEntityStorageTest.java | 6 +
.../apache/gravitino/storage/TestSQLScripts.java | 339 ++++
.../storage/relational/BackendTestExtension.java | 2 +
.../TestEntityCacheCrossNodeInvalidation.java | 61 +-
.../relational/TestEntityChangeLogPoller.java | 304 +++-
...TestRelationalEntityStoreHierarchicalCache.java | 4 +
.../relational/TestSemanticModelJDBCBackend.java | 137 ++
.../relational/mapper/TestRoleMetaMapper.java | 50 +
.../mapper/provider/base/TestAuthMappers.java | 2 +
.../provider/base/TestEntityChangeLogMapper.java | 2 +
.../provider/base/TestUserRoleRelMapper.java | 2 +
.../service/TestJobTemplateMetaService.java | 85 +
.../service/TestModelVersionMetaService.java | 196 ++
.../TestOrphanedMetadataObjectRelationService.java | 59 +
.../service/TestStatisticConcurrentWrites.java | 277 +++
.../service/TestStatisticMetaService.java | 778 +++++++-
.../relational/service/TestTableMetaService.java | 73 +
.../relational/service/TestTagMetaService.java | 49 +-
.../storage/relational/session/TestSqlSession.java | 64 +
.../org/apache/gravitino/tag/TestTagManager.java | 172 +-
.../org/apache/gravitino/utils/RaceTestUtils.java | 85 +
.../gravitino/utils/TestMetadataObjectUtil.java | 18 +
.../test/resources/restricted-rego-v1-cases.golden | 91 +
.../test/resources/restricted-rego-v1-cases.txt | 35 +
.../gravitino-entity-cache-multinode-design.md | 2 +-
design-docs/gravitino-semantic-model-design.md | 4 +-
design-docs/table-maintenance-service-design.md | 572 ++++++
design-docs/tag-based-access-control.md | 844 +++++++++
...tag-based-read-restrictions-for-iceberg-rest.md | 725 ++++++++
.../gravitino/resources/config/gravitino.conf | 3 +
dev/charts/gravitino/tests/configmap_test.yaml | 19 +
dev/charts/gravitino/values.yaml | 5 +
dev/docker/flink-connectors/Dockerfile | 11 +-
dev/docker/flink-connectors/README.md | 7 +-
dev/docker/flink-connectors/copy-connector.sh | 10 +-
.../flink-connectors-dependency.sh | 9 +-
dev/performance/jdbc_idle_retention.py | 195 ++
dev/performance/test_jdbc_idle_retention.py | 77 +
dev/release/publish-docker.sh | 4 +-
dev/release/release-build.sh | 2 +
docs/development/custom-job-executor.md | 34 +
docs/flink-connector/flink-catalog-iceberg.md | 1 +
docs/flink-connector/flink-catalog-jdbc.md | 8 +-
docs/flink-connector/flink-catalog-paimon.md | 16 +-
docs/flink-connector/flink-connector.md | 3 +-
docs/gravitino-mcp-server.md | 51 +
docs/gravitino-server-config.md | 53 +-
docs/how-to-sign-releases.md | 14 +-
docs/how-to-upgrade.md | 5 +
docs/how-to-use-gravitino-client.md | 18 +-
docs/how-to-use-gvfs.md | 25 +-
docs/how-to-use-python-client.md | 33 +
docs/how-to-use-relational-backend-storage.md | 21 +
docs/iceberg-compaction-policy.md | 34 +-
docs/jdbc-catalog-connection-validation.md | 107 ++
docs/jdbc-clickhouse-catalog.md | 36 +-
docs/jdbc-doris-catalog.md | 22 +-
docs/jdbc-hologres-catalog.md | 22 +-
docs/jdbc-mysql-catalog.md | 44 +-
docs/jdbc-oceanbase-catalog.md | 22 +-
docs/jdbc-postgresql-catalog.md | 38 +-
docs/jdbc-starrocks-catalog.md | 22 +-
docs/lakehouse-generic-lance-table.md | 45 +-
docs/lance-rest-service.md | 5 +-
docs/manage-jobs-in-gravitino.md | 43 +-
docs/manage-statistics-in-gravitino.md | 18 +
docs/metrics.md | 15 +-
docs/open-api/filesets.yaml | 33 +-
docs/open-api/indexes.yaml | 2 +
docs/open-api/jobs.yaml | 30 +-
docs/open-api/openapi.yaml | 21 +
docs/open-api/policies.yaml | 409 ++++-
docs/open-api/roles.yaml | 5 +
docs/open-api/semantic-models.yaml | 1591 +++++++++++++++++
docs/open-api/statistics.yaml | 4 +-
docs/open-api/tags.yaml | 3 +-
docs/policies.md | 140 +-
docs/security/access-control.md | 21 +-
docs/spark-connector/spark-catalog-hive.md | 18 +
.../optimizer-configuration.md | 64 +-
docs/table-maintenance-service/optimizer.md | 13 +-
docs/tags.md | 27 +-
docs/trino-connector/authentication.md | 17 +-
docs/trino-connector/catalog-mysql.md | 14 +
.../flink/connector/utils/TestTypeUtils.java | 7 +
.../v2.1/flink-runtime/build.gradle.kts | 5 +-
.../flink/runtime/TestRuntimeJarDependencies.java | 37 +-
flink-connector/v2.1/flink/build.gradle.kts | 7 +-
.../{v2.1 => v2.2}/flink-runtime/build.gradle.kts | 9 +-
.../flink/runtime/TestRuntimeJarDependencies.java | 37 +-
.../{v2.1 => v2.2}/flink/build.gradle.kts | 25 +-
.../GravitinoIcebergCatalogFactoryFlink22.java | 47 +
.../iceberg/GravitinoIcebergCatalogFlink22.java | 105 ++
.../jdbc/GravitinoJdbcCatalogFlink22.java | 64 +
.../GravitinoMysqlJdbcCatalogFactoryFlink22.java | 41 +
...GravitinoPostgresJdbcCatalogFactoryFlink22.java | 42 +
.../GravitinoPaimonCatalogFactoryFlink22.java | 27 +-
.../paimon/GravitinoPaimonCatalogFlink22.java | 52 +
.../connector/utils/CatalogCompatFlink22.java | 64 +
.../org.apache.flink.table.factories.Factory | 29 +
.../connector/catalog/TestBaseCatalogFlink22.java | 15 +-
.../hive/TestFlinkGenericTableUtilFlink22.java | 15 +-
.../hive/TestGravitinoHiveCatalogFlink22.java | 15 +-
.../TestGravitinoIcebergCatalogFlink22.java | 84 +
.../test/catalog/GravitinoCatalogManagerIT22.java | 6 +-
.../test/iceberg/FlinkIcebergHiveCatalogIT22.java | 6 +-
.../test/iceberg/FlinkIcebergJdbcCatalogIT22.java | 21 +-
.../test/iceberg/FlinkIcebergRestCatalogIT22.java | 6 +-
.../test/jdbc/FlinkJdbcMysqlCatalogIT22.java | 53 +
.../test/paimon/FlinkPaimonHiveBackendIT22.java | 6 +-
.../test/paimon/FlinkPaimonJdbcBackendIT22.java | 6 +-
.../FlinkPaimonLocalFileSystemBackendIT22.java | 6 +-
.../jdbc/TestGravitinoJdbcCatalogFlink22.java | 15 +-
.../paimon/TestGravitinoPaimonCatalogFlink22.java | 15 +-
.../connector/utils/TestCatalogCompatFlink22.java | 80 +
gradle/libs.versions.toml | 22 +-
.../iceberg/service/IcebergExceptionMapper.java | 28 +-
.../service/TestIcebergExceptionMapper.java | 24 +
.../iceberg/service/rest/TestIcebergConfig.java | 19 +
.../rest/TestIcebergNamespaceOperations.java | 5 +-
.../docker-script/init/mysql/init.sql | 21 +
.../lance/common/ops/gravitino/CommonUtil.java | 21 +-
.../lance/common/ops/gravitino/LanceBlobTypes.java | 260 +++
.../ops/gravitino/LanceDataTypeConverter.java | 56 +-
.../common/ops/gravitino/TestLanceBlobTypes.java | 292 +++
.../ops/gravitino/TestLanceDataTypeConverter.java | 298 ++++
.../gravitino/TestGravitinoLanceModeParsing.java | 20 +-
.../jobs/iceberg/IcebergRemoveOrphanFilesJob.java | 44 +-
.../TestIcebergRemoveOrphanFilesJobWithSpark.java | 43 +
.../common/util/OrphanFileLocationUtils.java | 79 +
maintenance/optimizer/build.gradle.kts | 3 +
.../handler/BaseExpressionStrategyHandler.java | 5 +-
.../handler/compaction/CompactionJobContext.java | 8 +
.../compaction/CompactionStrategyHandler.java | 22 +
.../OrphanFileRemovalJobContext.java} | 62 +-
.../OrphanFileRemovalStrategyHandler.java} | 31 +-
.../job/GravitinoCompactionJobAdapter.java | 13 +-
.../recommender/job/GravitinoJobSubmitter.java | 5 +-
.../job/GravitinoOrphanFileRemovalJobAdapter.java | 104 ++
.../optimizer/integration/test/RecommenderIT.java | 169 ++
.../compaction/TestCompactionStrategyHandler.java | 2 +
.../TestGravitinoPolicyCompactionStrategy.java | 55 +
.../job/TestBuiltinIcebergRewriteDataFiles.java | 2 +
.../job/TestGravitinoCompactionJobAdapter.java | 19 +-
.../recommender/job/TestGravitinoJobSubmitter.java | 9 +
.../TestGravitinoOrphanFileRemovalJobAdapter.java | 159 ++
.../statistics/TestGravitinoStatisticsUpdater.java | 26 +
.../mcp_server/client/gravitino_operation.py | 6 +
.../client/plain/plain_rest_client_operation.py | 10 +
.../plain_rest_client_semantic_model_operation.py | 106 ++
mcp-server/mcp_server/client/plain/utils.py | 8 +-
.../mcp_server/client/semantic_model_operation.py | 69 +
mcp-server/mcp_server/tools/__init__.py | 3 +
mcp-server/mcp_server/tools/semantic_model.py | 160 ++
mcp-server/tests/unit/client/test_url_encoding.py | 58 +
mcp-server/tests/unit/tools/mock_operation.py | 44 +
mcp-server/tests/unit/tools/test_semantic_model.py | 424 +++++
plugins/k8s-job-executor/build.gradle.kts | 85 +
.../apache/gravitino/job/k8s/K8sClientUtils.java | 288 +++
.../gravitino/job/k8s/K8sJobExecutionId.java | 132 ++
.../gravitino/job/k8s/K8sJobExecutorConfigs.java | 519 ++++++
.../gravitino/job/k8s/K8sJobResourceUtils.java | 106 ++
.../gravitino/job/k8s/K8sKubeconfigUtils.java | 115 ++
.../job/k8s/spark/SparkApplicationStatusUtils.java | 480 +++++
.../job/k8s/spark/SparkApplicationUtils.java | 245 +++
.../gravitino/job/k8s/TestK8sClientUtils.java | 451 +++++
.../gravitino/job/k8s/TestK8sJobExecutionId.java | 76 +
.../job/k8s/TestK8sJobExecutorConfigs.java | 197 +++
.../gravitino/job/k8s/TestK8sJobResourceUtils.java | 85 +
.../k8s/spark/TestSparkApplicationStatusUtils.java | 767 ++++++++
.../job/k8s/spark/TestSparkApplicationUtils.java | 471 +++++
.../catalog-model => plugins/tms}/build.gradle.kts | 74 +-
.../maintenance/TableMaintenanceConfig.java | 263 +++
.../scheduler/TableMaintenanceSchedulerPools.java | 152 ++
.../mapper/TableMaintenanceActionMapper.java | 107 ++
.../TableMaintenanceActionSQLProviderFactory.java | 191 ++
.../storage/mapper/TableSnapshotMetricsMapper.java | 41 +
.../TableSnapshotMetricsSQLProviderFactory.java | 80 +
.../mapper/provider/TmsMapperPackageProvider.java | 22 +-
.../TableMaintenanceActionBaseSQLProvider.java | 233 +++
.../base/TableSnapshotMetricsBaseSQLProvider.java | 56 +
.../h2/TableMaintenanceActionH2Provider.java | 8 +-
.../h2/TableSnapshotMetricsH2Provider.java | 8 +-
.../TableMaintenanceActionPostgreSQLProvider.java | 20 +-
.../TableSnapshotMetricsPostgreSQLProvider.java | 8 +-
.../storage/po/TableMaintenanceActionPO.java | 38 +-
.../storage/po/TableSnapshotMetricsPO.java | 36 +-
.../storage/service/OccupancyClaim.java | 82 +
.../service/TableMaintenanceActionMetaService.java | 335 ++++
.../service/TableSnapshotMetricsMetaService.java | 87 +
...elational.mapper.provider.MapperPackageProvider | 16 +-
.../TestTableMaintenanceSchedulerPools.java | 55 +
.../mapper/TestTmsMapperPackageProvider.java | 51 +
.../TestTableMaintenanceActionMetaService.java | 99 ++
.../TestTableSnapshotMetricsMetaService.java | 46 +
scripts/h2/schema-2.0.0-h2.sql | 81 +
scripts/h2/upgrade-1.3.0-to-2.0.0-h2.sql | 109 +-
scripts/mysql/schema-2.0.0-mysql.sql | 81 +
scripts/mysql/upgrade-1.3.0-to-2.0.0-mysql.sql | 589 ++++++-
scripts/postgresql/schema-2.0.0-postgresql.sql | 131 ++
.../upgrade-1.3.0-to-2.0.0-postgresql.sql | 135 +-
.../server/authorization/MetadataIdConverter.java | 121 +-
.../AuthorizationExpressionConstants.java | 47 +
.../AuthorizationExpressionConverter.java | 24 +-
.../jcasbin/JcasbinAuthorizationCacheKeys.java | 1 +
.../jcasbin/JcasbinAuthorizationLookups.java | 132 +-
.../authorization/jcasbin/JcasbinAuthorizer.java | 687 +++++---
.../jcasbin/JcasbinChangeListener.java | 29 +-
.../jcasbin/JcasbinLoadedRolesCache.java | 7 +-
.../org/apache/gravitino/server/web/Utils.java | 161 ++
.../src/main/resources/jcasbin_model.conf | 32 +-
.../server/authorization/TestJcasbinModel.java | 236 ++-
.../authorization/TestMetadataIdConverter.java | 117 ++
.../jcasbin/TestJcasbinAuthorizationCacheKeys.java | 27 +
.../jcasbin/TestJcasbinAuthorizationLookups.java | 63 +-
.../jcasbin/TestJcasbinAuthorizer.java | 1864 ++++++++++++++++++--
.../jcasbin/TestJcasbinChangePoller.java | 37 +-
.../TestJcasbinMetadataIdCacheNormalization.java | 611 +++++++
.../jcasbin/TestJcasbinModelCacheInvalidation.java | 161 ++
.../org/apache/gravitino/server/web/TestUtils.java | 155 ++
.../src/test/resources/jcasbin_policy.txt | 6 -
.../apache/gravitino/server/GravitinoServer.java | 2 +
.../web/filter/GravitinoInterceptionService.java | 2 +
.../gravitino/server/web/rest/BulkOperations.java | 16 +
.../server/web/rest/CatalogOperations.java | 4 +-
.../server/web/rest/ExceptionHandlers.java | 4 +-
.../web/rest/IcebergRESTServiceOperations.java | 149 +-
.../gravitino/server/web/rest/JobOperations.java | 8 +
.../server/web/rest/MetalakeOperations.java | 14 +-
.../server/web/rest/SemanticModelOperations.java | 272 ++-
.../web/rest/SemanticModelSourceValidator.java | 228 +++
.../filter/TestGravitinoInterceptionService.java | 111 ++
.../server/web/rest/TestBulkOperations.java | 22 +
.../server/web/rest/TestCatalogOperations.java | 28 +
.../server/web/rest/TestFilesetOperations.java | 54 +-
.../server/web/rest/TestJobOperations.java | 16 +
.../web/rest/TestMetadataObjectTagOperations.java | 85 +
.../web/rest/TestSemanticModelOperations.java | 888 +++++++++-
.../web/rest/TestSemanticModelSourceValidator.java | 362 ++++
.../server/web/rest/TestStatisticOperations.java | 47 +
.../server/web/rest/TestTableOperations.java | 26 +
...stMetadataObjectTagAuthorizationExpression.java | 69 +
.../TestSemanticModelAuthorizationExpression.java | 191 ++
settings.gradle.kts | 9 +-
.../integration/test/hive/SparkHiveCatalogIT.java | 98 +
.../connector/jdbc/TestSparkJdbcTypeConverter.java | 7 +
.../testsets/jdbc-mysql/00005_create_catalog.txt | 2 +-
.../testsets/jdbc-mysql/00006_datatype.txt | 14 +-
.../jdbc-mysql/00011_column_properties.txt | 14 +-
.../jdbc-mysql/00016_datetime_precision.sql | 41 +
.../jdbc-mysql/00016_datetime_precision.txt | 54 +
.../trino-ci-testset/testsets/trino-452-446.patch | 37 +-
.../trino/connector/GravitinoConnector.java | 32 +-
.../trino/connector/GravitinoErrorCode.java | 94 +-
.../trino/connector/GravitinoMetadata.java | 20 +-
.../connector/catalog/CatalogConnectorManager.java | 24 +-
.../catalog/CatalogConnectorMetadata.java | 107 +-
.../jdbc/mysql/MySQLDataTypeTransformer.java | 63 +-
.../AlterCatalogStoredProcedure.java | 7 +-
.../CreateCatalogStoredProcedure.java | 16 +-
.../DropCatalogStoredProcedure.java | 10 +-
.../connector/util/GeneralDataTypeTransformer.java | 12 +
.../trino/connector/TestGravitinoConnector.java | 5 +-
.../TestGravitinoConnectorForwardUser.java | 24 +
.../trino/connector/TestGravitinoErrorCode.java | 167 ++
.../TestGravitinoMetadataGetSupportedType.java | 66 +
.../TestGravitinoMetadataGetTableHandle.java | 105 ++
.../catalog/TestCatalogConnectorManager.java | 72 +-
.../TestCatalogConnectorMetadataErrors.java | 223 +++
.../catalog/TestCatalogConnectorMetadataView.java | 100 ++
.../jdbc/mysql/TestMySQLDataTypeTransformer.java | 131 ++
.../TestPostgreSQLDataTypeTransformer.java | 8 +
.../TestAlterCatalogStoredProcedure.java | 26 +
.../TestCreateCatalogStoredProcedure.java | 85 +
.../TestDropCatalogStoredProcedure.java | 29 +-
.../integration/test/web/ui/MetalakePageTest.java | 4 +-
671 files changed, 59898 insertions(+), 4468 deletions(-)
create mode 100644
api/src/main/java/org/apache/gravitino/policy/ColumnMaskContent.java
create mode 100644
api/src/main/java/org/apache/gravitino/policy/IcebergOrphanFileRemovalContent.java
create mode 100644
api/src/main/java/org/apache/gravitino/policy/IcebergRewriteManifestsContent.java
create mode 100644
api/src/main/java/org/apache/gravitino/policy/IcebergSnapshotExpirationContent.java
create mode 100644
api/src/main/java/org/apache/gravitino/policy/ReadRestrictionContent.java
create mode 100644
api/src/main/java/org/apache/gravitino/policy/RowFilterContent.java
create mode 100644
api/src/main/java/org/apache/gravitino/semantic/OssieDocument.java
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
api/src/main/java/org/apache/gravitino/semantic/OssieFormat.java (74%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
api/src/main/java/org/apache/gravitino/semantic/OssieVersion.java (71%)
create mode 100644
api/src/test/java/org/apache/gravitino/model/TestModelCatalog.java
create mode 100644
api/src/test/java/org/apache/gravitino/policy/TestIcebergOrphanFileRemovalContent.java
create mode 100644
api/src/test/java/org/apache/gravitino/policy/TestReadRestrictionContent.java
create mode 100644
api/src/test/java/org/apache/gravitino/semantic/TestOssieDocument.java
create mode 100644
catalogs-contrib/catalog-jdbc-clickhouse/src/test/java/org/apache/gravitino/catalog/clickhouse/operations/TestClickHouseTableOperationsConnectionUsage.java
create mode 100644
catalogs-contrib/catalog-jdbc-oceanbase/src/test/java/org/apache/gravitino/catalog/oceanbase/operation/TestOceanBaseTableOperationsConnectionUsage.java
create mode 100644
catalogs/catalog-jdbc-common/src/main/java/org/apache/gravitino/catalog/jdbc/utils/JdbcConnectionTimeouts.java
create mode 100644
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/TestJdbcCatalogOperationsProbe.java
create mode 100644
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/operation/TestJdbcOperationsConnectionUsage.java
create mode 100644
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/utils/ConnectionCountingDataSource.java
create mode 100644
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/utils/TestDataSourceValidation.java
create mode 100644
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/utils/TestJdbcConnectionTimeouts.java
create mode 100644
catalogs/catalog-jdbc-mysql/src/test/java/org/apache/gravitino/catalog/mysql/TestMysqlDataSource.java
create mode 100644
catalogs/catalog-jdbc-postgresql/src/test/java/org/apache/gravitino/catalog/postgresql/TestPostgreSqlDataSource.java
create mode 100644
clients/client-java/src/main/java/org/apache/gravitino/client/GenericSemanticModel.java
create mode 100644
clients/client-java/src/main/java/org/apache/gravitino/client/SemanticModelCatalogOperations.java
create mode 100644
clients/client-java/src/test/java/org/apache/gravitino/client/TestGenericSemanticModel.java
create mode 100644
clients/client-java/src/test/java/org/apache/gravitino/client/TestSemanticModelCatalog.java
create mode 100644
clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/SemanticModelIT.java
create mode 100644
clients/client-python/gravitino/client/generic_semantic_model.py
create mode 100644
clients/client-python/gravitino/client/semantic_model_catalog_operations.py
create mode 100644
clients/client-python/gravitino/dto/requests/semantic_model_create_request.py
create mode 100644
clients/client-python/gravitino/dto/requests/semantic_model_update_request.py
create mode 100644
clients/client-python/gravitino/dto/requests/semantic_model_updates_request.py
create mode 100644
clients/client-python/gravitino/dto/responses/semantic_model_response.py
copy clients/client-python/gravitino/{api => dto/semantic}/__init__.py (100%)
create mode 100644
clients/client-python/gravitino/dto/semantic/ai_context_dto.py
create mode 100644
clients/client-python/gravitino/dto/semantic/ai_context_object_dto.py
create mode 100644
clients/client-python/gravitino/dto/semantic/custom_extension_dto.py
create mode 100644 clients/client-python/gravitino/dto/semantic/dataset_dto.py
create mode 100644
clients/client-python/gravitino/dto/semantic/dialect_expression_dto.py
create mode 100644
clients/client-python/gravitino/dto/semantic/dimension_dto.py
create mode 100644
clients/client-python/gravitino/dto/semantic/expression_dto.py
create mode 100644 clients/client-python/gravitino/dto/semantic/field_dto.py
copy clients/client-python/gravitino/{api =>
dto/semantic/json_serdes}/__init__.py (100%)
create mode 100644
clients/client-python/gravitino/dto/semantic/json_serdes/ai_context_serdes.py
create mode 100644
clients/client-python/gravitino/dto/semantic/json_serdes/data_type_serdes.py
create mode 100644
clients/client-python/gravitino/dto/semantic/json_serdes/semantic_json_mixin.py
create mode 100644 clients/client-python/gravitino/dto/semantic/metric_dto.py
create mode 100644
clients/client-python/gravitino/dto/semantic/relationship_dto.py
create mode 100644
clients/client-python/gravitino/dto/semantic/semantic_dto_utils.py
create mode 100644
clients/client-python/gravitino/dto/semantic/semantic_model_definition_dto.py
create mode 100644
clients/client-python/gravitino/dto/semantic/semantic_model_dto.py
copy
clients/client-python/gravitino/exceptions/handlers/{view_error_handler.py =>
semantic_model_error_handler.py} (52%)
create mode 100644
clients/client-python/tests/integration/test_semantic_model_authorization.py
create mode 100644
clients/client-python/tests/integration/test_semantic_model_ossie.py
create mode 100644
clients/client-python/tests/integration/test_semantic_model_tags_and_owner.py
create mode 100644
clients/client-python/tests/unittests/authorization/test_semantic_model_authorization.py
copy clients/client-python/{gravitino/api =>
tests/unittests/dto/semantic}/__init__.py (100%)
create mode 100644
clients/client-python/tests/unittests/dto/semantic/test_semantic_model_definition_dto.py
create mode 100644
clients/client-python/tests/unittests/dto/semantic/test_semantic_model_dto.py
create mode 100644
clients/client-python/tests/unittests/dto/semantic/test_semantic_wire_compatibility.py
create mode 100644
clients/client-python/tests/unittests/dto/test_semantic_model_rest.py
create mode 100644
clients/client-python/tests/unittests/test_code_mapping_error_handler.py
create mode 100644
clients/client-python/tests/unittests/test_http_client_close.py
create mode 100644
clients/client-python/tests/unittests/test_http_client_raw_body.py
create mode 100644
clients/client-python/tests/unittests/test_semantic_model_catalog.py
create mode 100644
clients/client-python/tests/unittests/test_semantic_model_ossie.py
create mode 100644
clients/client-python/tests/unittests/test_semantic_model_tags_and_owner.py
create mode 100644
clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/TestBasicClient.java
create mode 100644
common/src/test/java/org/apache/gravitino/dto/policy/TestOrphanFileRemovalPolicyDTO.java
create mode 100644
common/src/test/java/org/apache/gravitino/dto/policy/TestReadRestrictionPolicyDTO.java
create mode 100644
common/src/test/java/org/apache/gravitino/dto/policy/TestRewriteManifestsAndSnapshotExpirationPolicyDTO.java
create mode 100644
core/src/main/java/org/apache/gravitino/connector/SupportsTableNameResolution.java
create mode 100644
core/src/main/java/org/apache/gravitino/connector/job/JobContext.java
create mode 100644
core/src/main/java/org/apache/gravitino/connector/job/JobResourceUtils.java
create mode 100644
core/src/main/java/org/apache/gravitino/hook/SemanticModelHookDispatcher.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/SemanticModelEventDispatcher.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/AlterSemanticModelEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/AlterSemanticModelFailureEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/AlterSemanticModelPreEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/CreateSemanticModelEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/CreateSemanticModelFailureEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/CreateSemanticModelPreEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/DropSemanticModelEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/DropSemanticModelFailureEvent.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/DropSemanticModelPreEvent.java
(50%)
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ExportSemanticModelEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ExportSemanticModelFailureEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ExportSemanticModelPreEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ImportSemanticModelEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ImportSemanticModelFailureEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ImportSemanticModelPreEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ListSemanticModelEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ListSemanticModelFailureEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/ListSemanticModelPreEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/LoadSemanticModelEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/LoadSemanticModelFailureEvent.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/LoadSemanticModelPreEvent.java
(50%)
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/SemanticModelEvent.java
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/SemanticModelFailureEvent.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
core/src/main/java/org/apache/gravitino/listener/api/event/semantic/SemanticModelPreEvent.java
(53%)
create mode 100644
core/src/main/java/org/apache/gravitino/listener/api/info/SemanticModelInfo.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/CanonicalExpression.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/Column.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/Comparison.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/ComparisonOperator.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/ExpressionValidator.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/GroupMembership.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/Literal.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/LiteralArray.java
copy
core/src/main/java/org/apache/gravitino/{catalog/SemanticModelDispatcher.java
=> policy/rego/LiteralType.java} (73%)
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/LogicalExpression.java
copy
core/src/main/java/org/apache/gravitino/{catalog/SemanticModelDispatcher.java
=> policy/rego/LogicalOperator.java} (67%)
create mode 100644 core/src/main/java/org/apache/gravitino/policy/rego/Not.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoExpressionParserFacade.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoLexer.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoLimits.java
(61%)
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoProgram.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoSourceParser.java
create mode 100644
core/src/main/java/org/apache/gravitino/policy/rego/RestrictedRegoSourceValidator.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=> core/src/main/java/org/apache/gravitino/policy/rego/SessionUser.java (59%)
create mode 100644
core/src/main/java/org/apache/gravitino/semantic/OssieDocumentConverter.java
create mode 100644
core/src/main/java/org/apache/gravitino/semantic/SemanticModelPropertiesMetadata.java
create mode 100644
core/src/main/java/org/apache/gravitino/storage/relational/EntityChangeLogWriter.java
create mode 100644
core/src/test/java/org/apache/gravitino/cache/TestCaffeineEntityCacheEviction.java
create mode 100644
core/src/test/java/org/apache/gravitino/cache/TestNoOpsCache.java
create mode 100644
core/src/test/java/org/apache/gravitino/catalog/TestSemanticModelDispatcher.java
create mode 100644
core/src/test/java/org/apache/gravitino/connector/job/TestJobExecutor.java
create mode 100644
core/src/test/java/org/apache/gravitino/connector/job/TestJobResourceUtils.java
create mode 100644
core/src/test/java/org/apache/gravitino/hook/TestSemanticModelHookDispatcher.java
create mode 100644
core/src/test/java/org/apache/gravitino/listener/api/event/TestSemanticModelEvent.java
create mode 100644
core/src/test/java/org/apache/gravitino/listener/api/event/TestSemanticModelImportExportEvent.java
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/RestrictedRegoTestUtils.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=> core/src/test/java/org/apache/gravitino/policy/rego/TestColumn.java (64%)
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/TestComparison.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
core/src/test/java/org/apache/gravitino/policy/rego/TestComparisonOperator.java
(66%)
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
core/src/test/java/org/apache/gravitino/policy/rego/TestGroupMembership.java
(60%)
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/TestLiteral.java
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/TestLiteralArray.java
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/TestLogicalExpression.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=> core/src/test/java/org/apache/gravitino/policy/rego/TestNot.java (57%)
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoExpressionParserFacade.java
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoGoldenFile.java
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoLexer.java
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoProgram.java
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoSourceParser.java
create mode 100644
core/src/test/java/org/apache/gravitino/policy/rego/TestRestrictedRegoSourceValidator.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=> core/src/test/java/org/apache/gravitino/policy/rego/TestSessionUser.java
(68%)
create mode 100644
core/src/test/java/org/apache/gravitino/semantic/TestOssieDocumentConverter.java
create mode 100644
core/src/test/java/org/apache/gravitino/semantic/TestSemanticModelPropertiesMetadata.java
create mode 100644
core/src/test/java/org/apache/gravitino/storage/relational/mapper/TestRoleMetaMapper.java
create mode 100644
core/src/test/java/org/apache/gravitino/storage/relational/service/TestStatisticConcurrentWrites.java
create mode 100644
core/src/test/java/org/apache/gravitino/utils/RaceTestUtils.java
create mode 100644 core/src/test/resources/restricted-rego-v1-cases.golden
create mode 100644 core/src/test/resources/restricted-rego-v1-cases.txt
create mode 100644 design-docs/table-maintenance-service-design.md
create mode 100644 design-docs/tag-based-access-control.md
create mode 100644 design-docs/tag-based-read-restrictions-for-iceberg-rest.md
create mode 100644 dev/performance/jdbc_idle_retention.py
create mode 100644 dev/performance/test_jdbc_idle_retention.py
create mode 100644 docs/jdbc-catalog-connection-validation.md
create mode 100644 docs/open-api/semantic-models.yaml
copy flink-connector/{v2.1 => v2.2}/flink-runtime/build.gradle.kts (90%)
copy flink-connector/{v2.1 =>
v2.2}/flink-runtime/src/test/java/org/apache/gravitino/flink/runtime/TestRuntimeJarDependencies.java
(69%)
copy flink-connector/{v2.1 => v2.2}/flink/build.gradle.kts (94%)
create mode 100644
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/iceberg/GravitinoIcebergCatalogFactoryFlink22.java
create mode 100644
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/iceberg/GravitinoIcebergCatalogFlink22.java
create mode 100644
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/jdbc/GravitinoJdbcCatalogFlink22.java
create mode 100644
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/jdbc/mysql/GravitinoMysqlJdbcCatalogFactoryFlink22.java
create mode 100644
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/jdbc/postgresql/GravitinoPostgresJdbcCatalogFactoryFlink22.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/paimon/GravitinoPaimonCatalogFactoryFlink22.java
(50%)
create mode 100644
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/paimon/GravitinoPaimonCatalogFlink22.java
create mode 100644
flink-connector/v2.2/flink/src/main/java/org/apache/gravitino/flink/connector/utils/CatalogCompatFlink22.java
create mode 100644
flink-connector/v2.2/flink/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/catalog/TestBaseCatalogFlink22.java
(69%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/hive/TestFlinkGenericTableUtilFlink22.java
(68%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/hive/TestGravitinoHiveCatalogFlink22.java
(68%)
create mode 100644
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/iceberg/TestGravitinoIcebergCatalogFlink22.java
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/catalog/GravitinoCatalogManagerIT22.java
(76%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/iceberg/FlinkIcebergHiveCatalogIT22.java
(76%)
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/iceberg/FlinkIcebergJdbcCatalogIT22.java
(54%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/iceberg/FlinkIcebergRestCatalogIT22.java
(76%)
create mode 100644
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/jdbc/FlinkJdbcMysqlCatalogIT22.java
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/paimon/FlinkPaimonHiveBackendIT22.java
(76%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/paimon/FlinkPaimonJdbcBackendIT22.java
(76%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/paimon/FlinkPaimonLocalFileSystemBackendIT22.java
(76%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/jdbc/TestGravitinoJdbcCatalogFlink22.java
(68%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/paimon/TestGravitinoPaimonCatalogFlink22.java
(68%)
create mode 100644
flink-connector/v2.2/flink/src/test/java/org/apache/gravitino/flink/connector/utils/TestCatalogCompatFlink22.java
create mode 100644
lance/lance-common/src/main/java/org/apache/gravitino/lance/common/ops/gravitino/LanceBlobTypes.java
create mode 100644
lance/lance-common/src/test/java/org/apache/gravitino/lance/common/ops/gravitino/TestLanceBlobTypes.java
create mode 100644
maintenance/optimizer-api/src/main/java/org/apache/gravitino/maintenance/optimizer/common/util/OrphanFileLocationUtils.java
copy
maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/handler/{compaction/CompactionJobContext.java
=> orphan/OrphanFileRemovalJobContext.java} (53%)
copy
maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/handler/{compaction/CompactionStrategyHandler.java
=> orphan/OrphanFileRemovalStrategyHandler.java} (70%)
create mode 100644
maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/job/GravitinoOrphanFileRemovalJobAdapter.java
create mode 100644
maintenance/optimizer/src/test/java/org/apache/gravitino/maintenance/optimizer/recommender/job/TestGravitinoOrphanFileRemovalJobAdapter.java
create mode 100644
mcp-server/mcp_server/client/plain/plain_rest_client_semantic_model_operation.py
create mode 100644 mcp-server/mcp_server/client/semantic_model_operation.py
create mode 100644 mcp-server/mcp_server/tools/semantic_model.py
create mode 100644 mcp-server/tests/unit/tools/test_semantic_model.py
create mode 100644 plugins/k8s-job-executor/build.gradle.kts
create mode 100644
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sClientUtils.java
create mode 100644
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sJobExecutionId.java
create mode 100644
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sJobExecutorConfigs.java
create mode 100644
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sJobResourceUtils.java
create mode 100644
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/K8sKubeconfigUtils.java
create mode 100644
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/spark/SparkApplicationStatusUtils.java
create mode 100644
plugins/k8s-job-executor/src/main/java/org/apache/gravitino/job/k8s/spark/SparkApplicationUtils.java
create mode 100644
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestK8sClientUtils.java
create mode 100644
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestK8sJobExecutionId.java
create mode 100644
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestK8sJobExecutorConfigs.java
create mode 100644
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/TestK8sJobResourceUtils.java
create mode 100644
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/spark/TestSparkApplicationStatusUtils.java
create mode 100644
plugins/k8s-job-executor/src/test/java/org/apache/gravitino/job/k8s/spark/TestSparkApplicationUtils.java
copy {catalogs/catalog-model => plugins/tms}/build.gradle.kts (54%)
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/TableMaintenanceConfig.java
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/scheduler/TableMaintenanceSchedulerPools.java
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableMaintenanceActionMapper.java
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableMaintenanceActionSQLProviderFactory.java
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableSnapshotMetricsMapper.java
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/TableSnapshotMetricsSQLProviderFactory.java
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/TmsMapperPackageProvider.java
(54%)
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/base/TableMaintenanceActionBaseSQLProvider.java
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/base/TableSnapshotMetricsBaseSQLProvider.java
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/h2/TableMaintenanceActionH2Provider.java
(70%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/h2/TableSnapshotMetricsH2Provider.java
(71%)
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/postgresql/TableMaintenanceActionPostgreSQLProvider.java
(60%)
copy
core/src/main/java/org/apache/gravitino/catalog/SemanticModelDispatcher.java =>
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/mapper/provider/postgresql/TableSnapshotMetricsPostgreSQLProvider.java
(69%)
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/po/TableMaintenanceActionPO.java
(50%)
copy
catalogs/catalog-jdbc-common/src/test/java/org/apache/gravitino/catalog/jdbc/config/TestJdbcConfig.java
=>
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/po/TableSnapshotMetricsPO.java
(52%)
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/service/OccupancyClaim.java
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/service/TableMaintenanceActionMetaService.java
create mode 100644
plugins/tms/src/main/java/org/apache/gravitino/maintenance/storage/service/TableSnapshotMetricsMetaService.java
copy clients/client-python/requirements.txt =>
plugins/tms/src/main/resources/META-INF/services/org.apache.gravitino.storage.relational.mapper.provider.MapperPackageProvider
(74%)
create mode 100644
plugins/tms/src/test/java/org/apache/gravitino/maintenance/scheduler/TestTableMaintenanceSchedulerPools.java
create mode 100644
plugins/tms/src/test/java/org/apache/gravitino/maintenance/storage/mapper/TestTmsMapperPackageProvider.java
create mode 100644
plugins/tms/src/test/java/org/apache/gravitino/maintenance/storage/service/TestTableMaintenanceActionMetaService.java
create mode 100644
plugins/tms/src/test/java/org/apache/gravitino/maintenance/storage/service/TestTableSnapshotMetricsMetaService.java
create mode 100644
server-common/src/test/java/org/apache/gravitino/server/authorization/jcasbin/TestJcasbinMetadataIdCacheNormalization.java
create mode 100644
server-common/src/test/java/org/apache/gravitino/server/authorization/jcasbin/TestJcasbinModelCacheInvalidation.java
create mode 100644
server/src/main/java/org/apache/gravitino/server/web/rest/SemanticModelSourceValidator.java
create mode 100644
server/src/test/java/org/apache/gravitino/server/web/rest/TestSemanticModelSourceValidator.java
create mode 100644
server/src/test/java/org/apache/gravitino/server/web/rest/authorization/TestMetadataObjectTagAuthorizationExpression.java
create mode 100644
server/src/test/java/org/apache/gravitino/server/web/rest/authorization/TestSemanticModelAuthorizationExpression.java
create mode 100644
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/jdbc-mysql/00016_datetime_precision.sql
create mode 100644
trino-connector/integration-test/src/test/resources/trino-ci-testset/testsets/jdbc-mysql/00016_datetime_precision.txt
create mode 100644
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/TestGravitinoErrorCode.java
create mode 100644
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/TestGravitinoMetadataGetSupportedType.java
create mode 100644
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/TestGravitinoMetadataGetTableHandle.java
create mode 100644
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/TestCatalogConnectorMetadataErrors.java
create mode 100644
trino-connector/trino-connector/src/test/java/org/apache/gravitino/trino/connector/catalog/TestCatalogConnectorMetadataView.java