Kratika Agrawal created IGNITE-28701:
----------------------------------------

             Summary: 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


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