[infinispan-dev] support for extending Infinispan
Mircea Markus
mircea.markus at jboss.com
Tue Sep 14 06:22:45 EDT 2010
On 13 Sep 2010, at 19:14, Sanne Grinovero wrote:
> 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).
If you only need to do an RPC and not go through the interceptor chain that's possible with current code base. Take a look at ClusteredGetCommand, it dies just that.
>
> 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?
This is another issue that a generic command would solve - one wouldn't have to bother keeping new command IDs unique.
> 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
>>
>
> _______________________________________________
> 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