[infinispan-dev] Sequential interceptors API

Galder Zamarreño galder at redhat.com
Fri Jun 17 04:52:52 EDT 2016


Radim, do you have a branch where you have been trying these things out? I'd like to play with what you're trying to do.

Cheers,
--
Galder Zamarreño
Infinispan, Red Hat

> On 8 Jun 2016, at 14:23, Radim Vansa <rvansa at redhat.com> wrote:
> 
> Hi,
> 
> I would like to encourage you to play with the (relatively) new API for 
> sequential interceptors, and voice your comments - especially you corish 
> devs, and Galder who has much experience with async invocations and that 
> kind of stuff from JS-world.
> 
> I am now trying to use the asynchronous methods only (the 
> forkInvocationSync() is only temporary helper!); Dan has made it this 
> way as he wanted to avoid unnecessary allocations, and I welcome this 
> GC-awareness, but regrettably I find it rather hard to use, due to its 
> handler-style nature. For the simplest style interceptors (do this, 
> invoke next interceptor, and process result) it's fine, but when you 
> want to do something like:
> 
> visitFoo(cmd) {
>   Object x = null;
>   if (/* ... */) {
>       x = invoke(new OtherCommand());
>   }
>   invoke(new DifferentCommand(x));
>   Object retval = invoke(cmd);
>   return wrap(retval);
> }
> 
> I find myself passing handlers deep down. There is allocation cost for 
> closures, so API that does not allocate CompletableFutures does not pay off.
> 
> I don't say that I could improve it (I have directed my comments to Dan 
> on IRC when I had something in particular), I just say that this is very 
> important API for further Infinispan development and everyone should pay 
> attention before it gets final.
> 
> So please, play with it, and show your opinion.
> 
> Radim
> 
> -- 
> Radim Vansa <rvansa at redhat.com>
> JBoss Performance Team
> 
> _______________________________________________
> 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