[infinispan-dev] Optional in listener events

Pedro Ruivo pedro at infinispan.org
Wed Aug 24 05:54:49 EDT 2016


If we can drop the pre-events, it would be possible to skip the 
loading/wrapping of the previous value. The method DataContainer.put() 
could return the previous value/metadata that could be used to trigger 
the post-event.

However, it has a problem that I haven't solved it yet: if the value is 
not in memory it will not be loaded (cache-stores / rebalance in progress).

Would it work for CQ?

Cheers,
Pedro

On 22-08-2016 19:15, William Burns wrote:
> I like the idea of having a variable to set on the listener annotation.
> This way we can know for sure if we need to force previous values for
> some listeners and not for others.
>
> It seems the default should be to force the previous value to be more
> inline with the current behavior, but I fear no one will use the
> opposite in this case though.  What do you guys think?
>
> On Mon, Aug 22, 2016 at 4:31 AM Adrian Nistor <anistor at redhat.com
> <mailto:anistor at redhat.com>> wrote:
>
>     Hi Radim,
>
>     Continuous query is built on top of these listeners. CQ _always_ needs
>     the previous value and it is very convenient in this case that the
>     command is forced to load the previous value. I imagine there may be
>     other use cases where we cannot live without the prev value.
>
>     I think the listener should be able to state if it needs the prev value
>     at registration time. Maybe add a new attribute in the Listener
>     annotation? Similar to how we handled Observation.
>
>     Adrian
>
>     On 08/19/2016 11:34 PM, Radim Vansa wrote:
>     > Hi,
>     >
>     > as I am trying to simplify current entry wrapping and distribution
>     code,
>     > I often find that listeners can get wrong previous value in the event,
>     > and it sometimes forces the command to load the value even if it
>     is not
>     > needed for the command.
>     >
>     > I am wondering if we should change the previous value in events to
>     > Optional - we can usually at least detect that we cannot provide a
>     > reliable value (e.g. after retry due to topology change, or
>     because the
>     > command did not bothered to load the previous value from cache loader)
>     > and return empty Optional.
>     >
>     > WDYT?
>     >
>     > Radim
>     >
>
>     _______________________________________________
>     infinispan-dev mailing list
>     infinispan-dev at lists.jboss.org <mailto:infinispan-dev at lists.jboss.org>
>     https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>


More information about the infinispan-dev mailing list