<div dir="ltr"><div><div><div><div>Hi, the Index.LOCAL setting was introduced eons ago to allow indexing to occur once cluster-wide; <br></div>thus it&#39;s recommended when using an IndexManager such as InfinispanIndexManager and ElasticsearchIndexManager that is shared among all nodes.<br><br></div>Furthermore, Index.LOCAL suits ClusteredQueries [1] where each node has its own &quot;private&quot; index and query is broadcasted to each individual node, and aggregated in the caller before returning the results.<br><br></div>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&#39;d require remote fetching of values. This extra fetch could be avoided if indexing always occurs in the owners.<br><br><br>tl;dr<br></div><div><br>The proposal is to deprecate Index.LOCAL, and map it internally to Index.PRIMARY_OWNER<br>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&#39;t think this is a realistic use case.<br></div><div><br></div><div>Any objections?<br></div><div><br></div><div>Thanks,<br></div><div>Gustavo<br></div><div><br><br>[1] <a href="http://infinispan.org/docs/stable/user_guide/user_guide.html#query.clustered-query-api">http://infinispan.org/docs/stable/user_guide/user_guide.html#query.clustered-query-api</a><br>[2] <a href="https://issues.jboss.org/browse/ISPN-7806">https://issues.jboss.org/browse/ISPN-7806</a><br></div></div>