GridGain Developers Hub

Features to Replace

This page is reference material for the Migration Procedure and the planning overview in What to Know Before Migrating.

Each feature below works differently in GridGain 8 or has no direct equivalent. Every entry answers three questions: does it apply to you, what to do, and how to verify the result. Some of these changes require code.

CDC (Change Data Capture)

Applies if you run CDC: ignite-cdc.sh, a CdcConsumer, or the built-in streamers. CDC and its tooling do not exist in GridGain; the replacement depends on your consumer: Ignite-to-Ignite replication moves to Data Center Replication (DCR); Ignite-to-Kafka moves to the GridGain Kafka Connect source connector; Kafka-to-Ignite moves to the Kafka Connect sink connector; a custom CdcConsumer is reimplemented with continuous queries. Verify: changes propagate end to end through the replacement under a realistic write load on staging.

Snapshots

Applies if you create snapshots with Ignite.snapshot() or control.sh --snapshot, manually or in automation. They are not available in GridGain. Move to the GridGain enterprise snapshot system (the snapshot-utility.sh tool or the plugin getSnapshot() API). The API differs, so a code rewrite is required. Verify: take a snapshot on staging and restore from it.

Calcite SQL engine

Applies if you enabled Calcite: the ignite-calcite module, CalciteQueryEngineConfiguration, the queryEngine=calcite connection property, or QUERY_ENGINE('calcite') SQL hints. GridGain 8 uses the H2 query engine; remove all of the above. Verify: re-run every query that Calcite previously executed and confirm results and acceptable performance on H2.

Custom security plugins

Applies if you use a custom GridSecurityProcessor or Ignite’s built-in authentication for cluster security. Adopt GridGain enterprise security (LDAP, Active Directory, JAAS, OIDC, certificate-based, plus role-based access control) instead. Note that the Ignite Sandbox (Java SecurityManager-based sandboxing) is not available in GridGain. Ignite’s built-in authentication and its SQL CREATE/ALTER/DROP USER commands are retained; GridGain enterprise security is a separate system, configured through its own authenticator configuration. Verify: on staging, clients authenticate through the new mechanism and authorization rules deny what they should.

Service call interceptors

Applies if you use ServiceCallInterceptor or the related session-context types. They are absent in GridGain. Use Java dynamic proxies or AOP around the service proxy. Verify: the interception logic fires in your service tests.

Metrics API

Applies if your code calls Ignite.metrics(). It is absent. Use JMX or ReadOnlyMetricRegistry. Verify: the dashboards and alerts that consumed these metrics receive them from the new source.

Read Repair

Applies if you call IgniteCache.withReadRepair(…​). It is absent. Use partition reconciliation (control.sh --cache partition_reconciliation), which is batch-oriented rather than on-read. Verify: run it on staging and confirm it detects and repairs an inconsistency.

Transaction-aware queries

Applies if your code runs SQL inside transactions and expects to see that transaction’s uncommitted changes. This is not available: use the cache API (get/put) inside transactions instead. Verify: re-test the affected transactional flows.

Cache Dump

Applies if you use the org.apache.ignite.dump package or control.sh --dump. They are absent. Export with the COPY command (to Parquet), or extract via scan or continuous queries. Verify: a test export contains the expected rows.

Multi-disk storage

Applies if you configured extra storage paths. They are not available. Consolidate onto a single storage path and use OS-level RAID or LVM if you need multiple physical disks. Verify: staging runs on the consolidated layout with acceptable capacity and throughput.

Disk page compression

Applies if you set CacheConfiguration.diskPageCompression or diskPageCompressionLevel. Per-cache disk page compression is not supported in GridGain. Use per-cache entry compression (EntryCompressionConfiguration) instead. WAL page compression (DataStorageConfiguration.walPageCompression) is still supported and unchanged. Verify: disk usage on staging stays within budget with entry compression.

Performance Statistics

Applies if you use --performance-statistics or PerformanceStatisticsMBean. They are absent. Use JMX metrics or an external APM. Verify: the profiling data you rely on is available from the replacement.

Thin-client lifecycle callbacks

Applies if you register a ClientLifecycleEventListener. It has no direct equivalent; track connection state through the thin client’s own connection handling instead. Verify: your client’s reconnect handling passes its tests.