github apache/gravitino v1.2.1
Apache Gravitino 1.2.1

2 hours ago

We are glad to announce the release of Apache Gravitino 1.2.1! This is a patch release that focuses on stability, correctness, and performance improvements. It includes bug fixes across the core server, authorization, Iceberg REST, Trino connector, Hive, and various catalog implementations.

Improvements

Core & Server

  • Performance: Improve the performance of metadata object retrieval. #10459
  • Batch operations: Support batch get owner for bundle of metadata objects. #9518
  • Owner management: Clean zombie VIEW owner relations when deleting schema or catalog. #10458

Authorization

  • Performance: Optimize JCasbin policy lookup for improved authorization performance when roles with large grants. #10907

Iceberg REST Catalog

  • Spec compliance: Remove prefix from config endpoint per Iceberg REST spec. #10640
  • Schema version: Change default Iceberg JDBC schema version to v1. #10851
  • Error handling: Return JSON error body instead of HTML for pre-JAX-RS errors. #10667

Catalogs & Connectors

  • Hive: Shrink the package size of Hive Metastore 2 and Hive Metastore 3 catalogs. #10457
  • Paimon: Exclude unnecessary tomcat-embed-core transitive dependency from Paimon catalog. #10524
  • Lance: Clean up redundant code in GravitinoLanceTableOperations#createTable. #10496

Helm & Charts

  • Launch script: Use start-gravitino.sh instead of gravitino.sh to launch the service. #10557
  • Kubernetes: Add serviceAccountName to pod spec in deployment.yaml. #10573

Build

  • Package size: Remove testing jars from release package. #10331
  • Module structure: Rename updater module to updaters for consistency. #10452
  • Build tooling: Remove release task and centralize JDK 8 compatibility handling. #10262
  • GitHub Actions: Update actions/upload-artifact from v4 to v7. #10646

Bug Fixes

Core & Server

  • Fix batchSelect queries missing version-info JOIN and field aliases. #10444
  • Fix missing partition path in getPartition error messages. #10175
  • Fix rollback masking the original post-hook exception. #10217
  • Fix missing @Param("metalakeId") in GroupRoleRelMapper.softDeleteGroupRoleRelByMetalakeId. #10657
  • Avoid blocking dropCatalog on imported schemas. #10737
  • Default ifExists to true when deleting a table index. #10380
  • Close leaked EntityStore lifecycle to fix test flakiness. #10700
  • Harden retention count assertions in TestFunctionMetaService and TestFilesetMetaService. #10700

Trino Connector

  • Fix TrinoException when using catalog name with metalake. #10717

Iceberg REST Catalog

  • Fix table scan planning failure due to incorrect SQL generation. #10841
  • Fix IcebergTableHookDispatcher failure with NoSuchTableException for staged creates. #10766

Hive

  • Fix Hive Metastore OOM by closing HiveClientFactory on pool shutdown. #10844
  • Fix concurrent keytab symlink creation race condition in Hive Kerberos authentication. #10741

ClickHouse

  • Fix ClickHouse alter-table bugs including autoIncrement issues. #10381

Web UI

  • Preserve hidden properties when editing a catalog in web-v2. #10837

MCP Server

  • Fix path encoding issues in MCP REST client for special characters. #10799

Common

  • Lazy-initialize Version to fix TestVersion without jar task. #10762
  • Block H2 JDBC URL and driver in catalog datasource creation. #10801

CI & Infrastructure

  • Pin localstack docker image version to 4.14.0 to fix CI problem. #10527
  • Pin docker/* GitHub Actions to SHA-based references (v4.0.0) to comply with ASF policy. #10504

Documentation

  • Clarify verified JDBC compatibility matrix for ClickHouse. #10308

Acknowledgements

Thanks to everyone who contributed to the 1.2.1 work — code, reviews, tests, issue triage, design, and feedback.

@babumahesh, @bharos, @danhuawang, @diqiu50, @FANNG1, @geyanggang, @hdygxsj, @jerryshao, @laserninja, @mchades, @pandeysambhi, @pythaac, @roryqi, @sachinnn99, @yuw1, @yuqi1129

Don't miss a new gravitino release

NewReleases is sending notifications on new releases.