[infinispan-dev] keySet(), values() and entrySet() impl progress and some questions
Manik Surtani
manik at jboss.org
Tue Jun 9 11:18:52 EDT 2009
On 9 Jun 2009, at 16:08, Galder Zamarreno wrote:
> Hi all,
>
> I'm making good progress with https://jira.jboss.org/jira/browse/ISPN-94
> . I'm currently testing that with DIST mode, only local contents are
> returned.
>
> We had agreed that these operations should not be participating in
> transactions and I assume that this is so that locks are not
> acquired. From what I understand, to achieve this, CacheDelegate
> method implementation would need to pass a
> icc.createNonTxInvocationContext(), correct?
Something for Mircea to confirm.
> We also agreed that we needed to document the limitations in javadoc
> but in which javadoc? Obviously, Map javadoc cannot be touched, so I
> suppose we should redefine the ops in the Cache interface and
> document them there, correct?
Yes, plus also have a paragraph on the class-level Javadoc on Cache.
> Finally, one note about the MVI. As per an IRC conversation with
> Manik, the collections returned by these methods need to be modified
> so that marshalled values are swapped by real values. The
> collections returned by these methods are not currently ready to be
> mutable so instead I've gone for the copying option changing the
> marshalled values to the real objects.
>
> I've taken this decision because:
> - The implementation was simpler by just copying.
> - Not sure there's much point in implementing mutable collections
> for the return of these methods if we're only gonna need to mutate
> them for the marshalled value edge case. The one advantage of
> mutable collections would be the ability to swap the marshalled
> values directly without copying, hence memory consumption would less.
> - Remember that these collection returning methods should primarily
> used for debugging and not for production, hence the extra memory
> consumption for these type of methods doesn't sound like such a bad
> thing.
Yes, I agree. In general this sentiment should be reflected in the
Javadocs as well: that these methods are not recommended for anything
important, and they only exist to meet the Map contract.
Cheers
Manik
> Thoughts?
> --
> Galder Zamarreño
> Sr. Software Maintenance Engineer
> JBoss, a division of Red Hat
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
More information about the infinispan-dev
mailing list