[infinispan-dev] Entry grouping feature

Mindaugas Žakšauskas mindas at gmail.com
Tue Dec 1 12:48:03 EST 2009

Hi there,

I am in process of reviewing Infinispan as, among other things, a
replacement of OSCache library we currently use. So far, it looks very
promising project - well done, guys!

Anyway, one of the features we heavily rely on seems to be missing.
The feature is called "grouping", allowing to "bind" multiple
components and possibly flush them even without knowing of their keys.

Cache cache = ....;
cache.put("key1", "value1", "groupX");
cache.put("key2", "value2", "groupX");
cache.flushGroup("groupX");   // this would evict both key1 and key2
as they belong to groupX

For more details, you can have a look at [1].

I've looked at the Infinispan's roadmap/JIRA, but couldn't find a
single trace of this feature mentioned anywhere.

My question is, how hard would be to implement this feature without
having much knowledge of Infinispan internals? I've spoken to Manik
Surtani at Devoxx'09 and he guessed this could be done by using
interceptors. I've had a sneak peek at the interceptors package, but
obviously this is still pretty low level stuff, and apart from
javadocs, documentation resources are rather scarce.

Chances are, I could get some time assigned to implement this feature
myself and contribute the code back to the community, but before doing
anything I'd like to know how feasible is this in general. For
example, what would be the best way to fit these parameters in the
current API? How would this work cluster-wise?

Any ideas are appreciated. Thanks in advance!


[1] http://www.opensymphony.com/oscache/api/com/opensymphony/oscache/base/Cache.html

More information about the infinispan-dev mailing list