On Oct 31, 2013, at 1:19 PM, Bela Ban <[email protected]> wrote: > On 10/31/13 1:05 PM, Mircea Markus wrote: >> >> On Oct 31, 2013, at 7:10 AM, Bela Ban <[email protected]> wrote: >> >>> Just to clarify, can you comment on whether the statements below are true ? >>> >>> #1 When mode=repl is used, the event itself is never broadcast; it is >>> always local and no communication is needed >> >> yes. for replicated caches we should handle this as a local listener. >> >>> >>> #2 when mode=dist, is the event broadcast synchronously or >>> asynchronously, can this be configured ? I think it doesn't make sense >>> to broadcast the event synchronously in dist-async, for instance. >> >> there are two levels of asynchronicity: >> - the cluster is configured to be asyn >> - the listeners can be configured to be notified in an async thread >> (@Listener async=true) >> In both situations the notification from the event should be broadcasted >> asynchronously > > Ah, ok, so the events are *always* async ?
Not always async actually: if we have an sync cluster and the listener is configured as @Listener(sync=true)[1] then the notification is processed synchronously and the ordering guarantee honored. If either the cluster is configured with async replication/distribution or @Listener(sync=false) then the events can be delivered *async* from the nodes were the filter is registered. This should be documents. [1] http://docs.jboss.org/infinispan/6.0/apidocs/org/infinispan/notifications/Listener.html#sync() > +1 in general, but there's a > point where you mentioned ordering, and ordering might get destroyed if > you switch to async. Cheers, -- Mircea Markus Infinispan lead (www.infinispan.org) _______________________________________________ infinispan-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/infinispan-dev
