Apache Ignite 3.0 is the latest milestone in Apache Ignite evolution that enhances developer experience, platform resilience, and efficiency. In this article, we’ll explore the key new features and improvements in Apache Ignite 3.0.
We are happy to announce the release of Apache Ignite 2.17.0! In this latest version, the Ignite community has introduced a range of new features and improvements to deliver a more efficient, flexible, and future-proof platform. Below, we’ll cover the key highlights that you can look forward to when upgrading to the new release.
As of December 25, 2023, Apache Ignite 2.16 has been released. You can directly check the full list of resolved Important JIRA tasks but let's briefly overview some valuable improvements.
Cache dumps
Ignite has persistent cache snapshots and this feature is highly appreciated by Ignite users. This release introduces another way to make a copy of user data - a cache dump.
The cache dump is essentially a file that contains all entries of a cache group at the time of dump creation. Dump is consistent like a snapshot, which means all entries that existed in the cluster at the moment of dump creation will be included in the dump file. Meta information of dumped caches and binary meta are also included in the dump.
Main differences from cache snapshots:
- Supports in-memory caches that a snapshot feature does not support.
- Takes up less disk space. The dump contains only the cache entries as-is.
- Can be used for offline data processing.
As of April 26, 2022, Apache Ignite 2.13 has been released. You can directly check the full list of resolved Important JIRA tasks but here let's briefly overview some valuable improvements.
This is a breaking change release: The legacy service grid implementation was removed.
New Apache Calcite-based SQL engine
We've implemented a new experimental SQL engine based on Apache Calcite. Now it's possible to:
- Get rid of some H2 limitations;
- Optimize some query execution.
The current H2-based engine has fundamental limitations. For example:
- some queries should be splitted into 2 phases (map subquery and reduce subquery), but some of them cannot be effectively executed in 2 phases.
- H2 is a third-party database product with not-ASF license.
- The optimizer and other internal things are not supposed to work in a distributed environment.
- It's hard to make Ignite-specific changes to the H2 code, patches are often declined.
As of January 14, 2022, Apache Ignite 2.12 has been released. You can directly check the full list of resolved Important JIRA tasks but here let’s briefly overview some valuable improvements.
Vulnerability Updates
The Apache Ignite versions lower than 2.11.1 are vulnerable to CVE-2021-44832 which is related to the ignite-log4j2
module usage.
The release also fixes 10+ CVE’s of various modules. See release notes for more details.
Change Data Capture
Change Data Capture (CDC) is a data processing pattern used to asynchronously receive entries that have been changed on the local node so that action can be taken using the changed entry.
The new Apache Ignite 2.11.1 is an emergency release that fixes CVE-2021-44228, CVE-2021-45046,CVE-2021-45105 related to the ignite-log4j2 module usage.
Apache Ignite with Log4j Vulnerability
All the following conditions must be met:
- The Apache Ignite version lower than 2.11.0 is used (since these vulnerabilities are already fixed in 2.11.1, 2.12, and upper versions);
- The
ignite-logj42
is used by Apache Ignite and located in thelibs
directory (by default it is located in thelibs/optional
directory, so these deployments are not affected); -
The Java version in use is older than the following versions:
8u191
,11.0.1
. This is due to the fact that later versions set the JVM propertycom.sun.jndi.ldap.object.trustURLCodebase
tofalse
by default, which disables JNDI loading of classes from arbitrary URL code bases.
NOTE: Relying only on the Java version as a protection against these vulnerabilities is very risky and has not been tested.
The new Apache Ignite 2.11 was released on September 17, 2021. It can be considered to be a greater extent as a stabilization release that closed a number of technical debts of the internal architecture and bugs. Out of more than 200 completed tasks, 120 are bug fixes. However, some valuable improvements still exist, so let's take a quick look at them together.
Thin Clients
Partition awareness is enabled by default in the 2.11 release and allows thin clients to send query requests directly to the node that owns the queried data. Without partition awareness, an application executes all queries and operations via a single server node that acts as a proxy for the incoming requests.
The support of Continuous Queriesadded to the java thin client. For the other supported features, you can check - the List of Thin Client Features.