from what I learned now, a warning would be good. I mean - transparent migration, transparent API, and just in case there is something going on I get a warning. Sounds like a good deal to me.
Spoken with my user hat on, I never used EHCache or OSCache directly On Thu, Jul 28, 2011 at 8:53 AM, Andrus Adamchik <and...@objectstyle.org> wrote: > But yeah, API-wise it should be transparent to the users and in case we go > with 1 (or warn instead of throw), even migration from OSCache will be > transparent. > > > On Jul 28, 2011, at 9:51 AM, Andrus Adamchik wrote: > >> End users will need to understand (a) when planning their cache group use. >> >> (b) is explicitly allowed by Cayenne SelectQuery (and other queries) API. >> Also this can happen implicitly when 2 queries with different cache groups >> resolve to the same key. We have some options here: >> >> 1. Quietly ignore the possibility of multiple cache groups. In explicit case >> use the first group, don't try to analyze the implicit case. >> 2. Throw (or warn via the logs) on multiple cache groups per key. In >> explicit case it will be easy to detect, in implicit case it will require a >> scan of N caches (where N is the number of cache groups in the system). >> 3. Throw (or warn via the logs) on multiple explicit cache groups per key. >> Ignore implicit ones. >> >> Andrus >> >> >> On Jul 28, 2011, at 9:37 AM, Christian Grobmeier wrote: >>> Thanks for your explaination >>> >>>> (a) require more discipline from the users in assigning cache groups and >>>> (b) disallow multiple cache groups per key (be it for the same query >>>> instance or for different, but equivalent query instances). >>> >>> But surely this is something the enduser aka Cayenne-user will not >>> have to deal with it right? >>> In my imagination I choose "EHCache" from the modeler and Cayenne is >>> doing everything for me. >>> >>> >>>> >>>> >>>> On Jul 28, 2011, at 12:01 AM, Andrus Adamchik wrote: >>>>> On Jul 27, 2011, at 11:39 PM, Christian Grobmeier wrote: >>>>> >>>>>> What is the difference to Cache-Groups then? >>>>> >>>>> (Also see my other email on this) >>>>> >>>>> The difference is subtle, but may be essential in some scenarios. OSCache >>>>> cache groups are "tags" that can be applied to any combinations of cache >>>>> keys (including multiple groups per key). E.g. on a certain event you may >>>>> invalidate group1, and on some other event - group2, and these two groups >>>>> may span over overlapping (but not equivalent) sets of keys. >>>>> >>>>> Using EhCache instances to emulate cache groups implies a hierarchy. All >>>>> keys belong to either zero or one cache group. Now the user must ensure >>>>> that 2 queries with the same cache key, but created in different places >>>>> of the code are using the same group. >>>>> >>>>> This is not the end of the world of course, and I must admit that most >>>>> often than not queries are actually organized this way already. >>>>> >>>>> Andrus >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> >>> >>> >>> -- >>> http://www.grobmeier.de >>> >> >> > > -- http://www.grobmeier.de