[infinispan-dev] Deprecation of Index.LOCAL

Gustavo Fernandes gustavo at infinispan.org
Mon May 15 05:09:52 EDT 2017


Hi, the Index.LOCAL setting was introduced eons ago to allow indexing to
occur once cluster-wide;
thus it's recommended when using an IndexManager such as
InfinispanIndexManager and ElasticsearchIndexManager that is shared among
all nodes.

Furthermore, Index.LOCAL suits ClusteredQueries [1] where each node has its
own "private" index and query is broadcasted to each individual node, and
aggregated in the caller before returning the results.

The issue with Index.LOCAL is when a command is originated in a NON_OWNER
(this happens in DIST caches), where there is no context available that
prevents obtention of previous values needed certain commands. This makes
fixing [2] complex as it requires fiddling with more than a couple of
interceptors, and it'd require remote fetching of values. This extra fetch
could be avoided if indexing always occurs in the owners.


tl;dr

The proposal is to deprecate Index.LOCAL, and map it internally to
Index.PRIMARY_OWNER
Everything should work as before, except if someone is relying to find a
certain entry indexed in a specific local index where the put was issued:
the ClusteredQuery test suite does that, but I don't think this is a
realistic use case.

Any objections?

Thanks,
Gustavo


[1]
http://infinispan.org/docs/stable/user_guide/user_guide.html#query.clustered-query-api
[2] https://issues.jboss.org/browse/ISPN-7806
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20170515/495356a1/attachment.html 


More information about the infinispan-dev mailing list