[ 
https://issues.apache.org/jira/browse/IGNITE-28701?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vyacheslav Koptilin updated IGNITE-28701:
-----------------------------------------
    Labels: ignite-3  (was: )

> CacheEntryListener / IgniteEvents: no per-cache event listeners in Ignite 3.x
> -----------------------------------------------------------------------------
>
>                 Key: IGNITE-28701
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28701
>             Project: Ignite
>          Issue Type: Bug
>         Environment: Apache Ignite:3.1.0 (migrated from 2.17.0)
> JDK:Java 21 (LTS)
> - Topology: Multi-node clusters; production target is 2–3 node SharedNothing 
> with both
>   in-memory (`aimem`) and persistent (`aipersist`) storage profiles. We also 
> run a single
>   embedded-node mode for inference workloads.
> - Control plane: Notifications must propagate **across all nodes** of the 
> cluster on every
>   mutation — agent registry changes, master election, hot deployment events, 
> etc. The 2.x
>   `CacheEntryListener` fired on every node that hosted a partition; the 3.x 
> compute-broadcast
>   workaround has at-most-once semantics and is augmented with a safety-net 
> poll
>   (`be.ignite.controldao.safety.poll.interval.ms`, default 30 s) to recover 
> dropped broadcasts.
> - Latency SLA: CEP rules require sub-second reaction to control-plane 
> changes. Polling at
>   1 s is a regression from 2.x event-driven (≈0 latency) behavior.
>            Reporter: Kratika Agrawal
>            Priority: Major
>              Labels: ignite-3
>
> I think this is  a major road block in migration this is affecting continuous 
> query ,eviction ,control table poll etc.  
> Ignite 2.x had two well-defined listening surfaces:
> - `CacheEntryListener<K,V>` — JCache-compliant per-cache `onCreated` / 
> `onUpdated` / `onRemoved`
>   callbacks registered via 
> `CacheConfiguration.addCacheEntryListenerConfiguration(...)`.
> - `Ignite.events().localListen(...)` — node-local distributed event listener 
> with `EventFilter`
>   for fine-grained filtering.
> Both are removed in 3.1.0. The Ignite 3 docs suggest "use compute jobs or 
> partition-based
> streaming" but neither replaces the synchronous, per-key callback semantics of
> `CacheEntryListener`.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to