On Oct 31, 2013, at 1:19 PM, Bela Ban <bban(a)redhat.com> wrote:
On 10/31/13 1:05 PM, Mircea Markus wrote:
>
> On Oct 31, 2013, at 7:10 AM, Bela Ban <bban(a)redhat.com> 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...
+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)