Reputation: 11
With the Apache Ignite 2.13.0 release. They introduced a new beta sql engine to replace the existing h2 sql engine. Unfortunately it still had a dependency on the h2 indexing module. With the 2.14 release it supposedly removed this dependency. Now I am trying to remove the h2 package completely (due to critical code vulnerabilities in the h2 package). Does anyone know how to remove h2 completely from a java built ignite project?
Documentation: https://ignite.apache.org/docs/latest/SQL/sql-calcite
Here is how I am setting my ignite configuration explicitely avoiding the h2 engine
igniteConfiguration.setSqlConfiguration(
new SqlConfiguration().setQueryEnginesConfiguration(
new CalciteQueryEngineConfiguration().setDefault(true)
)
);
EDIT:
To resolve our issue we had to remove the dependencies imports for org.apache.ignite:ignite-slf4j:2.14.0 and org.apache.ignite:ignite-spring:2.14.0
Upvotes: 1
Views: 1174
Reputation: 390
Big thanks to generous developers from SberTech:
ignite-h2 without CVEs
SRC: https://gitverse.ru/sbertech/ignite-h2
Package repo: https://gitverse.ru/sbertech/-/packages/maven/com.sbt.ignite-ignite-h2/1.0.0?tab=packagesOrg
Upvotes: 0
Reputation: 885
In case you configured only one query engine, which is CalciteQueryEngineConfiguration
, then the ignite-indexing
dependency can be removed from your project, as a result, you will no longer have the h2
in the list of dependencies.
Here is a dependency section example:
<dependencies>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-core</artifactId>
<version>${ignite.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-calcite</artifactId>
<version>${ignite.version}</version>
</dependency>
</dependencies>
You can execute mvn dependency:tree
to check the actual list of dependencies.
Also, I should mention that the Calcite-based query engine is currently in beta status.
Upvotes: 2