[infinispan-dev] support for extending Infinispan

Sanne Grinovero sanne.grinovero at gmail.com
Mon Sep 13 14:14:19 EDT 2010


I'd also love to see some capability to send my own command;
I'm thinking about having a single IndexWriter always open, and
delegate work to it from other nodes, or in other cases distribute the
search request to the remote nodes instead of downloading the needed
index segment (a common problem with Lucene is to have enough memory
to perform a sort operation on huge result sets).

A "distributable" IndexWriter would be great for Search, and latest
Lucene as some new APIs which could help with this, but I'm not in a
position to be able to tell which commands I need; I would need to
experiment a bit with it, and would love to be able to play with the
commands in a flexible way - currently it looks hard and I desisted
from investigation.

Maybe it could be possible to reserve some command numbers for
experiments? Or allow pluggable invocations?
I'd especially love an API to send a specific method with parameters
(like RMI) to the node owning a specific key - last time I mentioned
this need Bela mentioned a new sort of multiplexer to reuse the
JGroups channel, but at that time this was yet to be written.
A super cool feature would be for example to start Hibernate Search's
JGroups backend on the same channel as Infinispan, having for example
all data sent to the one machine having a specific key.

Another extensibility I wish I had is to be able to plug my own
marshaller/externalizer (also had a thread about it).

Sanne

2010/9/13 Manik Surtani <manik at jboss.org>:
>
> On 13 Sep 2010, at 17:19, Mircea Markus wrote:
>
>> Hi,
>>
>> I've been working on an POC for continuous-query in ISPN. This runs on top of Drools, and is a independent mvn module.
>> One of the things I needed to do was broadcasting remote commands and make them available in the interceptor chain. As Infinispan does only support a fixed number of Commands and I cannot  (and don't want to) add a new command as I am in a different module, I hacked the PutKeyValue: on special key values, my interceptors know that  they should handle it. This way, PutKeyValue is not a put per se, but a way to facilitate RPC and an ugly hack :)
>
> What "command" is this, what do you need to be able to broadcast?
>
>> I was thinking that a GenericCommand that would contain a Map of parameters would be handy for this scenario. Also a method on the visitor, visitGenericCommand. This would allow integration projects (like cq) to be done nicely. If this sounds appealing I can detail..
>
> -1.  This sounds like it opens a huge can of worms, making things hard to maintain and open to abuse.  Commands should be very specific and properly typed.
>
>
>
>
> --
> 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
>



More information about the infinispan-dev mailing list