Skip to main content

Apache Gravitino 1.2.1

· 3 min read
Qi Yu
PMC Member

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

Apache, Apache Flink, Apache Hive, Apache Hudi, Apache Iceberg, Apache Ranger, Apache Spark, Apache Paimon and Apache Gravitino are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.