GridGain Developers Hub

GridGain 9.1.17 Release Notes

Overview

GridGain 9.1.17 is a private release that brings monitoring improvements and exciting new .NET features.

Major Changes

Removal of Table-Based Partitions

This release starts removing APIs and system views that were used for working with table-based partitions that are no longer supported since GridGain 9.1.15.

Removed System Views

In this release, the GLOBAL_PARTITION_STATES and LOCAL_PARTITION_STATES system views were removed. Make sure to use the GLOBAL_ZONE_PARTITION_STATES and LOCAL_ZONE_PARTITION_STATES zone-based system views instead.

Removed REST Endpoints

In this release, table-based data recovery REST endpoints were removed.

  • The /management/v1/recovery/partitions/restartWithCleanup is replaced by /management/v1/recovery/zone/partitions/restartWithCleanup,

  • The /management/v1/recovery/partitions/reset is replaced by /management/v1/recovery/zone/partitions/reset,

  • The /management/v1/recovery/state/global is replaced by /management/v1/recovery/zone/state/global,

  • The /management/v1/recovery/state/local is replaced by /management/v1/recovery/zone/state/local,

  • The /management/v1/recovery/partitions/restart is replaced by /management/v1/recovery/zone/partitions/restart.

If you were using the removed endpoints for monitoring and managing your partitions, make sure to switch to the new ones. As the new endpoints use zone-based partitions, all table-related fields are no longer applicable and have been removed. Make sure to modify your requests appropriately. For more information on the new request and response fields, see the OpenAPI specification.

Control Center Incompatibility

Due to the changes in the sections above, Control Center 2025.5 and earlier are not compatible with GridGain 9.1.17. The upcoming Control Center 2025.5.1 patch release will address compatibility issues.

If you are using Control Center to monitor your GridGain 9 cluster, wait for Control Center 2025.5.1 and update to it before updating to GridGain 9.1.17.

New Features

Timed SQL Requests

A new --timed option has been added to the CLI, and can be used to measure the execution time of SQL queries and other CLI commands. When enabled, the timing information includes the total execution time for the command. The timing information is displayed after the query results in the CLI.

Example usage:

sql --timed "select * from system.system_views;"

Improved Snapshots Monitoring

A new snapshot list CLI command has been added to help administrators monitor and manage cluster snapshots. This command provides visibility into all available snapshots, including those stored on remote paths.

ignite3 snapshot list

Expanded Metrics

This release adds new metrics to improve monitoring aipersist storage. The metrics cover checkpoint behavior.

Another set of new metrics helps monitor Raft snapshots activity, providing better visibility into the snapshot lifecycle. These metrics help detect stalled replication, slow recovery and excessive snapshot load.

Storage Metrics

  • Checkpoint Metrics

    • ReadLockAcquisitionTime – Time from requesting the checkpoint read lock until acquisition, in nanoseconds.

    • ReadLockHoldTime – Duration between checkpoint read lock acquisition and release, in nanoseconds.

    • ReadLockWaitingThreads – Current number of threads waiting for the checkpoint read lock.

Raft Snapshot Metrics

  • IncomingSnapshots – Number of incoming Raft snapshots currently in progress.

  • IncomingSnapshotsLoadingMeta – Number of incoming Raft snapshots loading metadata.

  • IncomingSnapshotsWaitingCatalog – Number of incoming Raft snapshots waiting for catalog availability.

  • IncomingSnapshotsPreparingStorages – Number of incoming Raft snapshots preparing storages.

  • IncomingSnapshotsPreparingIndexForBuild – Number of incoming Raft snapshots preparing indexes for build.

  • IncomingSnapshotsLoadingMvData – Number of incoming Raft snapshots loading multi-versioned data.

  • IncomingSnapshotsLoadingTxMeta – Number of incoming Raft snapshots loading transaction metadata.

  • OutgoingSnapshots – Number of outgoing Raft snapshots currently in progress.

.NET Improvements

.NET Custom Mapping Support

This release introduces new IMapper<T> support to SQL, Compute and PartitionManager .NET APIs, enabling custom object mapping for serialization and deserialization, including AOT-friendly scenarios where reflection-based mapping is not suitable.

For example, that is how you use it to create a colocated compute job target for a specific table and key:

public sealed class PocoMapper : IMapper<Poco> {}
IJobTarget<Poco> target = JobTarget.Colocated("PUBLIC.MY_TABLE", key, new PocoMapper());

For more details on usage of IMapper<T> see corresponding SQL and Partition Manager API sections.

.NET Client AOT Compilation

This release adds official support for Native AOT. Applications using the .NET client can be compiled in AOT mode. Most client APIs are supported. Unsupported APIs (LINQ and reflection-based mappers) will produce trim warnings during build.

.NET Continuous Query API

Continuous Query .NET API is extended with the new IContinuousQueryWatermark.AfterTransaction interface to allow the user to obtain a consistent view of table data and future updates.

This is how to start a continuous query with transaction watermark:

var watermark = IContinuousQueryWatermark.AfterTransaction(tx);

Improvements and Fixed Issues

Issue ID Category Description

IGN-29969

General

Fixed client transactions issue when an update could not be applied in some scenarios.

IGN-29830

General

Fixed a crash on start due to stored LWM falling behind compacted Catalog.

IGN-29805

General

Added --timed option to CLI.

IGN-29780

Platforms & Clients

.NET: Fix potentially inconsistent data seen by different client instances within one IgniteClientGroup.

IGN-29776

Platforms & Clients

.NET: IgniteServiceCollectionExtensions.AddIgniteClientGroup now integrates with available logger by injecting ILoggerFactory automatically.

IGN-29756

Platforms & Clients

C++ client compilation fixed for gcc-15 compiler.

IGN-29735

CLI Tool

Added CLI-only Docker image.

IGN-29718

Cluster REST API

Fixed resource leak in a rare scenario of deploying multiple files with wrong version format.

IGN-29708

Cluster SQL Engine

Fixed an issue when wrong result is returned if result of aggregation is used in division.

IGN-29699

Cluster Storage Engine

Added new metrics under "storage.<aipersist/aimem>.checkpoint" source.

IGN-29694

Platforms & Clients

Fixed a rare deadlock in C++ client during compute job execution.

IGN-29688

General

Fixed NPE if write intent switch happens after the table is already dropped.

IGN-29678

Distributed Data Streamer

Thin clients (all): Fixed data streamer changes not being immediately visible.

IGN-29667

Cluster Storage Engine

Fixed a potential deadlock on the invocation of "stop node" failure handler.

IGN-29664

Cluster SQL Engine

Fixed an issue causing DML queries to fail when executing within explicit RW transaction.

IGN-29642

CLI Tool

CLI tool maximum heap size is now limited to 256 Mb.

IGN-29639

General

Fixed an issue that could lead to an error during the registration of table metrics when a node restarts.

IGN-29631

General

Fixed command timestamp reordering in raft state machine on unstable group topology.

IGN-29621

Platforms & Clients

.NET: Added custom object mapping to Compute, SQL, and PartitionManager APIs with IMapper<T>.

IGN-29599

General

Multi node disaster recovery operations are completed when all participating nodes finish processing.

IGN-29596

General

Fixed possible TxIdMismatchException in case of primary replica switch.

IGN-29541

Cluster REST API

Added a new /management/v1/deployment/node/units/structure/{unitId}/{unitVersion} REST endpoint that can be used to fetch deployment unit file structure on the node.

IGN-29529

Platforms & Clients

Java client: fixed reconnect to restarted node.

IGN-29499

Platforms & Clients

Python DB API: Added support for Python 3.14 and removed support for Python 3.9.

IGN-29491

Cluster Data Snapshots and Recovery

Added new metrics related to partition Raft snapshots.

IGN-29230

Platforms & Clients

.NET: Improved hostname resolution logic. GridGain now re-resolve provides hostnames periodically to allow using DNS as node finder in orchestrator and other scenarios.

IGN-28745

Cluster SQL Engine

Fixed the issue where ResultSetMetadata.indexOf failed when called for a case-sensitive column name.

IGN-28167

Platforms & Clients

Fixed exceptions in the server log when cancelling SQL queries or compute jobs.

IGN-28148

Cluster SQL Engine

Updated Apache Calcite to version 1.41.

IGN-27158

Platforms and Clients

Java client: Improved exception handling and logging on server node disconnect.

IGN-26685

General

Zone partitions are now correctly dropped after drop moment is below LWM.

IGN-25556

General

Fixed service descriptor when deployment failed.

IGN-24449

General

System Raft groups, like CMG and Metastorage, now do not share threads for their Log Managers disruptors.

IGN-23405

Platforms and Clients

.NET: Added Native AOT support.

GG-46923

General

Transaction timeout in the dr connector is now set to 30 seconds.

GG-46858

General

Adds missing jvm flag to the start.sh script of the DR connector.

GG-46743

General

Fixed expiration not working when a large number of entries expire.

GG-46805

Platforms & Clients

Python Client: Fixed Windows wheels for Python versions other than 3.11.

GG-46718

Cluster SQL Engine

Fixed getObject(column, class) to return null when a value was null instead of coercing it to 0.0.

GG-46715

Cluster Continuous Queries

.NET: Added ContinuousQueryTransactionWatermark.

GG-46585

Cluster SQL Engine

DR connector now displays GridGain version and system information.

GG-46584

Platforms & Thin Clients

Fixed CQ failing to request next batch because of incorrect partition assignment state.

GG-46551

Cluster Security

Tables API in compute jobs now returns nulls if table is not found.

GG-46400

Cluster SQL Engine

DR connector no longer prints stacktrace at info level for marshaller errors.

GG-46310

Cluster SQL Engine

Fixed incorrect type mapping from legacy temporal types to Java Time API in DR-connector component.

GG-46296

Cluster Data Snapshots and Recovery

Added a new cli command to get a list of snapshots.

GG-46123

Platforms & Thin Clients

Clients: Fixed a race condition, that could result in a sudden connection termination right after establishment.

GG-46096

Cluster Continuous Queries

Fixed ContinuousQueryTransactionWatermark serialization.

Upgrade Information

You can upgrade to current GridGain version from previous releases. Below is a list of versions that are compatible with the current version. Compatibility with other versions is not guaranteed. If you are on a version that is not listed, contact GridGain for information on upgrade options.

9.1.8, 9.1.9, 9.1.10, 9.1.11, 9.1.12, 9.1.13, 9.1.14, 9.1.15, 9.1.16

When updating from older versions, we recommend updating to version 9.1.8 first, before performing an update to current version.

Known Limitations

Rolling Upgrade Over 9.1.10

When performing a rolling upgrade from GridGain 9.1.9 or earlier, it is necessary to first upgrade to 9.1.10 before upgrading to 9.1.11 or a later version. This is caused by improvements in rolling upgrade procedure that make skipping 9.1.10 with a rolling upgrade impossible.

The upgrade to 9.1.10 must be performed for the whole cluster and committed before the next upgrade can be started.

You do not need to perform this intermediary upgrade when upgrading with downtime, as it only affects the rolling upgrade procedure.

Data Restoration After Data Rebalance

Currently, data rebalance may cause partition distribution to change and cause issues with snapshots and data recovery. In particular:

  • It is currently not possible to restore a LOCAL snapshot if data rebalance happened after snapshot creation. This will be addressed in one of the upcoming releases.

  • It is currently not possible to perform point-in-time recovery if data rebalance happened after table creation. This will be addressed in one of the upcoming releases.

SQL Performance in Complex Scenarios

There are known issues with the performance of SQL read-write transactions in complex read-write scenarios. These issues will be addressed in upcoming releases.

We Value Your Feedback

Your comments and suggestions are always welcome. You can reach us here: http://support.gridgain.com/.