[infinispan-dev] Design change in Infinispan Query

Emmanuel Bernard emmanuel at hibernate.org
Wed Feb 5 14:34:45 EST 2014


On Wed 2014-02-05 17:44, Radim Vansa wrote:
> On 02/05/2014 05:30 PM, Emmanuel Bernard wrote:
> > On Wed 2014-02-05 15:53, Mircea Markus wrote:
> >> On Feb 3, 2014, at 9:32 AM, Emmanuel Bernard <emmanuel at hibernate.org> wrote:
> >>
> >>> Sure searching for any cache is useful. What I was advocating is that if you search for more than one cache transparently, then you probably need to CRUD for more than one cache transparently as well. And this is not being discussed.
> >> Not sure what you mean by CRUD over multiple caches? ATM one can run a TX over multiple caches, but I think there's something else you have in mind :-)
> >
> > //some unified query giving me entries pointing by fk copy to bar and
> > //buz objects. So I need to manually load these references.
> >
> > //happy emmanuel
> > Cache unifiedCache = cacheManager.getMotherOfAllCaches();
> > Bar bar = unifiedCache.get(foo);
> > Buz buz = unifiedCache.get(baz);
> >
> > //not so happy emmanuel
> > Cache fooCache = cacheManager.getCache("foo");
> > Bar bar = fooCache.get(foo);
> > Cache bazCache = cacheManager.getCache("baz");
> > Buz buz = bazCache.put(baz);
> 
> cacheManager.getCache("foo").put("xxx", "yyy");
> cacheManager.getCache("foo").put("xxx", "zzz");
> 
> String xxx = cacheManager.getMotherOfAllCaches().get("xxx");
> System.out.println(xxx);
> 
> What should it print? Should an exception be thrown? Or should get on 
> mother of all caches return Map<Cache<String, String>, String>?
> 

Yes I'm aware of that.
What I am saying is that the idea of search across caches as
appealing as it is is is not the whole story.

People search, read, navigate and M/R their data in interleaved ways.
You need to project and think about a 100-200 lines of code that would
use that feature in combination with other related features to see if
that will be useful in the end (or gimmicky) and if the user experience
(API mostly in our case) will be good or make people kill themselves.

The feeling I have is that we are too feature focused and not enough use
case and experience focused.


More information about the infinispan-dev mailing list