GridGain Developers Hub

GridGain 9.1.0-rc1 Release Notes

Overview

GridGain 9.1.0-rc1 is a release candidate with a number of new and exciting features and major changes.

Major Changes

Configuration Changes

This release features a major rework of node and cluster configuration, making configuration names more consistent and reorganizing some parameters.

Below is the summary of the changes:

  • Configuration property names now include the units used.

  • Multiple system-related properties were combined in ignite.system configuration.

  • Eviction and expiration configurations are now combined under ignite.table configuration.

  • Several configuration options were renamed.

Previously used configurations must be updated for this release.

License Changes

With this release, GridGain 9 license format is changed. Previously issued licenses will be temporarily usable, but should be updated when possible.

New licenses are provided in JSON format, simplifying their usage in REST requests and CLI.

New Features

Secondary Columnar Storage

This release brings support for secondary columnar storage. The columnar package is optional and needs to be downloaded separately.

If columnar storage is enabled, you can use it to store the second instance of data in it, providing a way to search data in columnar format.

To set up columnar storage for your tables:

  • Create a new storage profile with columnar storage engine:

    node config update "ignite.storage.profiles:{columnar_storage{engine:columnar}}"
  • Restart the node to apply configuration changes.

  • Then, include this profile in a distribution zone you use. Distribution zone can also include the storage profile to that will be used to write data:

    CREATE ZONE myZone WITH STORAGE_PROFILES='default, columnar_storage';
  • Create a new table that has a SECONDARY STORAGE PROFILE specified and uses columnar storage for it:

    CREATE TABLE Person (  id int primary key,  city_id int,  name varchar,  age int,  company varchar) PRIMARY ZONE MYZONE PRIMARY STORAGE PROFILE 'default' SECONDARY ZONE MYZONE SECONDARY STORAGE PROFILE 'columnar_storage';

When data is written to the primary storage, it will automatically be propagated to secondary storage. To read data from columnar storage, use the use_secondary_storage query hint:

SELECT /*+ use_secondary_storage */ * FROM Person;

For more information on columnar storage, see Columnar Storage documentation.

Streamer Support in Kafka Sink

Kafka Sink now supports receiving data via data streamer.

To enable data streamer support, specify the name of the receiver class in the ignite.streamer.receiver.class.name kafka sink configuration property. You can specify the deployment units containing the class in the ignite.streamer.receiver.deployment.units property.

Write Throttling in Persistent Storage

This release introduces write throttling for the aipersist storage engine. Write throttling is always enabled, and starts when checkpoint buffer is 2/3 full, increasing checkpoint writer priority at the cost of the update rate.

Rolling Upgrades

With this release, it is possible to perform a rolling upgrade between versions. Once rolling upgrade is started, nodes with another version are allowed to join the cluster.

To start the rolling upgrade process, use the upgrade start command and specify the version of the new node that will join the cluster:

upgrade start --version 9.1.1

Then, you can safely shut down nodes one by one, update them to a newer version, and restart them. A node leaving the cluster, and a node rejoining the cluster will cause data rebalance. We recommend waiting for the rebalance to complete before proceeding with the update.

Once all nodes are updated, you can finish the rolling upgrade with the commit command:

upgrade commit

Improvements and Fixed Issues

Issue ID Category Description

IGN-27381

General

Low watermark update is no longer paused while table is being deleted.

IGN-27347

SQL

Table identifier can now correctly start with underscore without being enclosed in quote symbols.

IGN-27278

General

Fixed an issue that could lead to a race when destroying partitions, and to failure to create indexes.

IGN-27255

Distributed Computing

Code deployment now supports files over 10 MB.

IGN-27189

General

Fixed an issue that could cause catalog compaction to hang.

IGN-27171

Platforms and Clients

.NET: Fixed OperationCanceledException in client log on graceful disconnect.

IGN-27109

SQL

Added pk_column_ordinal and colocation_column_ordinal columns to table_columns system view.

IGN-27049

General

Fixed a warning in log that could happen at the end of data rebalance.

IGN-26934

SQL

Fixed a serialization issue in Java thin client that could prevent users from working with columns that contain special symbols.

IGN-26932

General

Added the bytesValue method to table api.

IGN-26898

SQL

Improved error message when DEFAULT column is specified incorrectly.

IGN-26598

SQL

.NET: Added ITable.QualifiedName API.

IGN-25152

General

Public error code numbers updated to keep numbers continuous.

IGN-25150

General

A new STORAGE_BROKEN error code was added.

IGN-24817

Configuration

Renamed idleSyncTimeInterval configuration to idleSafeTimeSyncInterval, and it is now part of ignite.system configuration.

IGN-24813

Configuration

Moved the ignite.storageUpdate.batchByteLength configuration to ignite.replication.raft.batchSizeBytes.

IGN-24811

Configuration

Configuration parameters now include the value used.

IGN-24810

Configuration

The ignite.compute.threadPoolStopTimeoutMillis configuration was removed.

IGN-24808

Configuration

The criticalWorkers configuration is now part of ignite.system configuration.

IGN-24807

Configuration

The ignite.deploymentLocation is renamed to ignite.location.

GG-42858

Cluster Storage Engine

Removed duplicated log line on node start.

GG-42822

Cluster Data Snapshots and Recovery

Reduced memory requirements for snapshot operations.

GG-42771

General

Added docker images for arm64 architecture.

GG-42764

General

Python DB API can now be used on Windows.

GG-42612

CLI Tool

The new --license parameter must be used when initializing the cluster.

GG-42398

Licenses

License format is changed.

GG-42135

GridGain Integrations

Kafka sink: added streamer receiver support.

Known Limitations

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.

Data Center Replication with Multiple Data Centers

Complex Data Center Replication topologies (for example, the ones involving cycles) of 3 or more data centers are not supported. This will be addressed in an upcoming releases.

GridGain 8 Features

The following features of GridGain 8 are not available in this version, and will be added in upcoming versions:

  • Rack-Awareness

  • Tracing

  • Service Grid

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 an upcoming releases.

We Value Your Feedback

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