[infinispan-dev] ISPN-200

Manik Surtani manik at jboss.org
Mon Jul 5 05:16:26 EDT 2010


On 4 Jul 2010, at 17:51, Israel Lacerra wrote:

> Using my strategy (create ReplicableCommand in CacheQueryImpl and then use RpcManager to broadcast the query), I'm having troubles getting the local Cache instance on each node. If I try to use CommandsFactory to initialize my replicableCommand, I create a undesired dependency: infinispan-core -> infinispan-query.

On the remote end, the Command is recreated using the following process:

1)  The Marshaller framework is registered to use the ReplicableCommandExternalizer for all ReplicableCommands.  This class has the knowledge of how to convert a stream of bytes to a ReplicableCommand on the remote end.  ReplicableCommandExternalizer.readObject() will convert the stream into a command id + an array of object params.
2)  ReplicableCommandExternalizer then passes this command id + params to RemoteCommandsFactory.fromStream(), which creates an *un-initialized* command, with params set (see javadocs on fromStream())
3)  Before actually invoking the command, the InboundInvocationHandler *initializes* the command (injects the cache instance, component dependencies, etc) by calling       CommandsFactory.initializeReplicableCommand().  See InboundInvocationHandlerImpl.handle() for details.

HTH
Manik


> 
> I need the Cache instance to get component registry and then get SearchFactoryImplementor to make the query.
> 
> Is there a way to get the local cache instance? 
> 
> Someone has something to say about the way I'm solving it? Perhaps it's not the best way... 
> 
> 
> thanks!
> 
> Israel Lacerra
> 
> On Sat, Jun 19, 2010 at 9:31 PM, Israel Lacerra <israeldl at gmail.com> wrote:
> Ok! Understood.
> 
> So I'll try to use RpcManager to broadcast the query.
> 
> Thanks!
> Israel
> 
> 
> On Fri, Jun 18, 2010 at 6:42 PM, Manik Surtani <manik at jboss.org> wrote:
> 
> On 9 Jun 2010, at 05:45, Israel Lacerra wrote:
> 
> > Manik,
> >
> > About the "map" part of the map/reduce of ISPN-200.
> >
> > Looking in the code, my intention is(briefly) create a ReplicableCommand in CacheQueryImpl and then use RpcManager to make the query on all nodes.
> >
> > But ISPN-200 depends on ISPN-39, right?
> 
> Well, not precisely.  They are related and a degenerate case of ISPN-39 *could* work for you, but isn't necessary.  Let me explain:
> 
> ISPN-39 is about pushing tasks to nodes based on key.  So, you may say something like, here's a task, T, which requires keys K1, K2, K3.  The DistributionManager could then be used to determine the most appropriate node(s) to send T to, and process it there.
> 
> Now in the case of ISPN-200, you don't know which nodes contain the entries you are looking for.  So you would need to broadcast the task, T, which in this case is a query task, to *all* nodes.  So while it is similar to ISPN-39 in that it executes remote tasks, the logic of determining which nodes to execute the task on is different - you would need to execute the task on all nodes all the time.
> 
> Hope this clarifies things a bit.  :)
> 
> Cheers
> Manik
> 
> > This dependecy is about the map part? The idea behind ISPN-39 is to migrate a computation to other nodes? Like a "continuation"? And then ISPN-200 will use this api to make the query on all nodes?
> >
> >
> > thanks!
> >
> > Israel
> >
> >
> > _______________________________________________
> > 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
> 
> 
> 
> 
> 
> _______________________________________________
> infinispan-dev mailing list
> 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

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




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20100705/ab5e8e0a/attachment.html 


More information about the infinispan-dev mailing list