GridGain Developers Hub

GridGain 8.8.22 Release Notes

New Features

New Commands to Manage Full State Transfer

A new full-state-transfer command was added to the control script to manage full state transfer. With these commands, you can start and cancel full state transfer, and get the list of transfers that are active on the cluster.

New Command to Manually Start Checkpoints

A new --checkpoint command has been added to control script and a new checkpoint() method was added to the cluster API. With this new command you can manually write all data to a persistent storage before removing source data. You can find more information on checkpointing process in the Ignite Persistence topic.

IgniteSet Data Structure Brought to .NET Thin Client

This update brings a way to work with IgniteSet data structures from .NET thin clients. Here is a simple example of how to add and read data:

var set = Client.GetIgniteSet<int>("my-set", new CollectionClientConfiguration());

set.Add(1);
set.Add(2);

Console.WriteLine(set.Contains(1)); // true
Console.WriteLine(set.Contains(3)); // false

Known Issues

Connection Issues to Control Center and Nebula on Coordinator Node Change

If the coordinator node leaves the cluster (for example, due to a crash), Control Center Agent will no longer be able to send information to Control Center or Nebula. To restart connection, full cluster restart would be required.

This issue is fixed in GridGain 8.8.23.

Improvements and Fixed Issues

Community Edition Changes

Issue ID Category Description

GG-35688

Cluster Metrics & Monitoring

Added metrics for page write throttling.

GG-35659

Cluster Storage Engine

Fixed a rare issue that could lead to partition map exchange stopping when security is enabled.

GG-35651

Platforms & Thin Clients

.NET: Fixed StringComparer class serialization.

GG-35639

Platforms & Thin Clients

.NET: Added IgniteSet distributed data structure to thin client API.

GG-35618

Cluster Deployment

Fixed ClassCastException that appears during deployment manager stop in Java versions 11.0.16+ and 17.0.4+.

GG-35602

Cluster Service Grid

Improved registered service name lookup performance and reduced service shutdown times.

GG-35591

Cluster SQL Engine

Added a way to monitor additional SQL query properties.

GG-35450

Cluster Continuous Queries

Added an ability to use Java-based remote filter for continuous query from C++ thin client.

Enterprise Edition Changes

Issue ID Category Description

GG-35628

Cluster Data Replication

Fixed ttl-enabled records expiration with incremental DR after replication or transfer.

GG-35410

Cluster Storage Engine

Fixed a possible issue with a checkpoint that could happen if a node was stopped after PDS defragmentation.

GG-33838

Cluster Data Replication

Added a way to call data replication full state transfer over snapshot.

GG-30606

Cluster Storage Engine

Added a new command to perform a forced checkpoint on all nodes.

Control Center Agent Changes

Issue ID Category Description

GG-35593

Control Center Agent

Added support for monitoring running SQL queries.

Installation and Upgrade Information

See the Rolling Upgrades page for information about how to perform automated upgrades and for details about version compatibility.

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

8.7.29-p1, 8.7.42-p2, 8.8.2-p1, 8.8.4-p2, 8.8.8-p1, 8.8.9-p1, 8.8.13-p2, 8.8.16-p2, 8.8.18-p1, 8.7.22, 8.7.28, 8.7.32, 8.7.34, 8.7.38, 8.8.1, 8.8.2, 8.8.3, 8.8.4, 8.8.5, 8.8.6, 8.8.7, 8.8.8, 8.8.9, 8.8.10, 8.8.11, 8.8.12, 8.8.13, 8.8.14, 8.8.15, 8.8.16, 8.8.17, 8.8.18, 8.8.19, 8.8.20

Known Limitations

Jetty Configuration Incompatibility in GridGain 8.7.21 and Later

If you are upgrading from version 8.7.20 or earlier, consider an incompatibility issue related to Jetty configuration introduced in GridGain 8.7.21.

Your setup may be affected if:

  • You use the ignite-rest-http module (e.g. to connect to GridGain Web Console)

  • You have a custom Jetty configuration that enables SSL for REST

  • Your Jetty configuration uses the org.eclipse.jetty.util.ssl.SslContextFactory class

  • The keystore specified in the Jetty configuration contains both the CA certificate and the private certificate

In this case, after starting a new version, an exception is thrown with an error message similar to the following:

java.lang.IllegalStateException: KeyStores with multiple certificates are not supported on the base class
org.eclipse.jetty.util.ssl.SslContextFactory. (Use org.eclipse.jetty.util.ssl.SslContextFactory$Server
or org.eclipse.jetty.util.ssl.SslContextFactory$Client instead)

To workaround this issue, alter the Jetty configuration to use org.eclipse.jetty.util.ssl.SslContextFactory$Server or org.eclipse.jetty.util.ssl.SslContextFactory$Client. See the configuration example at the Client Certificate Authentication page.

Default rebalanceThreadPoolSize in GridGain 8.7.26 and Later

In GridGain 8.7.26, the default value of the property IgniteConfiguration.rebalanceThreadPoolSize changed from 1 to min(4, number of CPU / 4). It may cause a compatibility issue under the following conditions:

  • When a Rolling Upgrade is performed

  • The upgrade is performed from 8.5.7 version (or earlier) to 8.5.x or from 8.7.3 (or earlier) to 8.7.x

  • The server nodes have at least 8 CPU cores

  • The nodes configuration does not have the property IgniteConfiguration.rebalanceThreadPoolSize, so the default value is used

In this case, an exception is thrown with an error message similar to the following:

сlass org.apache.ignite.IgniteException: Rebalance configuration mismatch (fix configuration or set -DIGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK=true system property).
Different values of such parameter may lead to rebalance process instability and hanging.  [rmtNodeId=5fc58fb7-209d-489a-8034-0127a81abed6, locRebalanceThreadPoolSize = 4, rmtRebalanceThreadPoolSize = 1]

To workaround this issue, change the configuration of the server nodes to rebalanceThreadPoolSize=1 so that it matches the previous default configuration. For example:

<bean class="org.apache.ignite.configuration.IgniteConfiguration">
    <property name="rebalanceThreadPoolSize" value="1"/>

    <!-- The rest of the configuration goes here -->
</bean>

Jetty Doesn’t Accept Incorrect Configuration in GridGain 8.7.31 and Later

In GridGain 8.7.31 Jetty was upgraded to 9.4.33. Starting that version, Jetty has more strict validation of the provided configuration files. Before that version, an incorrectly spelled property in the configuration file had no effect. Starting this version, errors in the configuration will lead to an error on start.

Your setup may be affected if:

  • You use the ignite-rest-http module (e.g. to connect to GridGain Web Console)

  • You have a custom Jetty configuration for REST

  • The custom configuration has errors in it

You will need to fix the custom Jetty configuration before upgrading.

ignite.sh No Longer Enables Remote JMX by Default in GridGain 8.7.31 and Later

Starting from 8.7.31 version, GridGain no longer attempts to automatically enable the remote JMX. Default settings are known to cause issues if customized (for example, secure the connection). Also, in most cases, remote JMX is not required since many tools use local JMX connections (not using TCP).

Your setup may be affected if:

  • You start GridGain nodes via ignite.sh script

  • You connect to GridGain nodes' JMX interface remotely over TCP using the default configuration

To continue using remote JMX, you need to manually specify the required JMX settings. Please see the example below. Note that you don’t need remote JMX if you use a local connection, such as connecting JConsole to a GridGain process on the same host.

export JVM_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=33333 \
    -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

bin/ignite.sh

.NET: GridGain Nuget Package Misses GridGain.Ignite Jars in 8.8.17

Set <PrivateAssets>None</PrivateAssets> for the GridGain.Ignite dependency in GridGain project, so that jars from there are included.

.NET: Docker Images Need Additional Configuration

To run .NET SDK commands, install the .NET SDK. For more details, click here.

We Value Your Feedback

Your comments and suggestions are always welcome. You can reach us here: https://gridgain.freshdesk.com/support/login or docs@gridgain.com

Please visit the documentation for more information.