[infinispan-dev] Integration between HotRod and OGM
Pedro Ruivo
pedro at infinispan.org
Mon Jan 27 09:02:46 EST 2014
On 01/27/2014 01:38 PM, Dan Berindei wrote:
>
>
>
> On Mon, Jan 27, 2014 at 2:43 PM, Pedro Ruivo <pedro at infinispan.org
> <mailto:pedro at infinispan.org>> wrote:
>
>
>
> On 01/27/2014 12:26 PM, Emmanuel Bernard wrote:
> > I'd be curious to see performance tests on Pedro's approach (ie walk
> > through the entire data key set to find the matching elements of
> a given
> > group). That might be fast enough but that looks quite scary
> compared to
> > a single lookup.
>
> I would prefer to have a performance hit than a map of sets (group name
> => set of keys). I also think that keep this map synchronized with the
> keys in data container will not be easy...
>
>
> Sure, I would prefer the simpler implementation as well. But if changing
> an application to use groups instead of atomic maps will change the
> processing time of a request from 1ms to 1s, I'm pretty sure users will
> prefer to keep use the atomic maps :)
you don't need to change the application. we can implement the
AtomicHashMap interface on top of grouping :D
I'm expecting a negative performance impact but not that high. Also,
with the current implementation, FGAHM performs a copy for writing...
anyway, we should test and see how it goes :)
>
>
> >
> > Any doc explaining how FGAM is broken in transactions for curiosity.
> >
>
> well, the map is not isolated, so you can see the updates from other
> transactions immediately (https://issues.jboss.org/browse/ISPN-3932)
>
>
> Do you know if AtomicMap is affected, too?
I haven't tested yet, but I'm assuming the worst (i.e. yes, it is
affected). I'm trying to find a way to fix it without destroying
anything else :(
>
> It also does not work when you enable write skew check with optimistic
> transactions (we have a JIRA somewhere)
>
>
> I assume you mean https://issues.jboss.org/browse/ISPN-3939 ?
> This looks like it also affects AtomicMap, so the only workaround is to
> use pessimistic locking.
that is cross-site replication...
I mean to this: https://issues.jboss.org/browse/ISPN-2729
that is originated because we don't support version in Deltas
>
>
>
> > On Mon 2014-01-27 11:54, Pedro Ruivo wrote:
> >>
> >>
> >> On 01/27/2014 09:52 AM, Sanne Grinovero wrote:
> >>> On 27 January 2014 09:38, Pedro Ruivo <pedro at infinispan.org
> <mailto:pedro at infinispan.org>> wrote:
> >>>>
> >>>>
> >>>> On 01/27/2014 09:20 AM, Sanne Grinovero wrote:
> >>>>> On 23 January 2014 18:03, Dan Berindei
> <dan.berindei at gmail.com <mailto:dan.berindei at gmail.com>> wrote:
> >>>>>>
> >>>>>> On 22 Jan 2014 16:10, "Pedro Ruivo" <pedro at infinispan.org
> <mailto:pedro at infinispan.org>> wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On 01/22/2014 01:58 PM, Dan Berindei wrote:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> It would also require us to keep a Set<K> for each group,
> with the keys
> >>>>>>>> associated with that group. As such, I'm not sure it would
> be a lot
> >>>>>>>> easier to implement (correctly) than FineGrainedAtomicMap.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>> Dan, I didn't understand why do we need to keep a Set<K>.
> Can you
> >>>>>>> elaborate?
> >>>>>>
> >>>>>>
> >>>>>> We'd need some way to keep track of the keys that are part
> of the group,
> >>>>>> iterating over the entire cache for every getGroup() call
> would be way too
> >>>>>> slow.
> >>>>>
> >>>>> Right, and load all entries from any CacheStore too :-/
> >>>>
> >>>> IMO, I prefer to iterate over the data container and cache
> loader when
> >>>> it is needed than keep the Set<K> for each group. I think the
> memory
> >>>> will thank you
> >>>
> >>> Of course. I'm just highlighting how importand Dan's comment is,
> >>> because we obviously don' t want to load everything from
> CacheStore.
> >>> So, tracking which entries are part of the group is essential:
> >>> failing this, I'm still skeptical about why the Grouping API is a
> >>> better replacement than FGAM.
> >>
> >> I have one reason: FGAM does not work inside transactions...
> >>
> >>>
> >>> Sanne
> >>> _______________________________________________
> >>> infinispan-dev mailing list
> >>> infinispan-dev at lists.jboss.org
> <mailto:infinispan-dev at lists.jboss.org>
> >>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
> >>>
> >> _______________________________________________
> >> infinispan-dev mailing list
> >> infinispan-dev at lists.jboss.org
> <mailto:infinispan-dev at lists.jboss.org>
> >> https://lists.jboss.org/mailman/listinfo/infinispan-dev
> > _______________________________________________
> > infinispan-dev mailing list
> > infinispan-dev at lists.jboss.org
> <mailto:infinispan-dev at lists.jboss.org>
> > https://lists.jboss.org/mailman/listinfo/infinispan-dev
> >
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org <mailto:infinispan-dev at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
>
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
More information about the infinispan-dev
mailing list