[infinispan-dev] StressTest: Can JGroups provide a callback to do marshalling after real_dests have been calculated?

Manik Surtani manik at jboss.org
Thu Oct 29 06:29:49 EDT 2009


Good point, Galder.

On 29 Oct 2009, at 10:19, Galder Zamarreno wrote:

> Hi Bela & co,
>
> While investigating your stress test, I've found a few interesting
> things. I'm gonna split in 2 emails:
>
> 1.- First of all, a week ago filled
> https://jira.jboss.org/jira/browse/ISPN-237 jira in order for dist
> commands that should only affect the local machine not to go remove.
> While investigating your stress test, I've found out that JGroups'
> MessageDispatcher.castMessage already does that!
>
>         if(tmp != null &&
> tmp.getOpt(Channel.LOCAL).equals(Boolean.FALSE)) {
>             if(local_addr == null) {
>                 local_addr=tmp.getAddress();
>             }
>             if(local_addr != null) {
>                 real_dests.removeElement(local_addr);
>             }
>         }
>
> That code empties the real_dests if the target is the local address.  
> So,
> you're probably wondering why I filled
> https://jira.jboss.org/jira/browse/ISPN-237? It's because marshalling
> happens before the code above gets executed. In fact, it happens at  
> the
> beginning of ReplicationTask.call() and the JGroups optimization  
> happens
> when castMessage() is called from ReplicationTask.call().
>
> So, I think my fix for https://jira.jboss.org/jira/browse/ISPN-237 is
> not optimal. JGroups already knows when the call should stay local, so
> ISPN should need to do this calculation again, it's wasteful code. The
> real fix would be to somehow be able to do marshalling only if the  
> code
> in MessageDispatcher.castMessage() said that real_dests was not empty.
>
> Bela, do you think JGroups could be enhanced to have a callback after
> the code shown above where we can invoke marshalling?
>
> Cheers,
> -- 
> Galder Zamarreño
> Sr. Software Engineer
> Infinispan, JBoss Cache
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org








More information about the infinispan-dev mailing list