[infinispan-dev] keySet(), values() and entrySet() not implemented
Galder Zamarreno
galder.zamarreno at redhat.com
Thu Jun 4 05:20:45 EDT 2009
Manik Surtani wrote:
> +1.
>
> Implementing these naively is easy; anything else is much harder. Here
> are some basic thoughts.
>
> If we are in LOCAL or REPL mode, this is straightforward *if* we ignore
> cache stores. If we take cache stores or DIST into account, we have the
> potential for instant OOMs. Even if we use custom collections that load
> lazily from a store or across a cluster, the collections still need to
> efficiently handle contains(), size(), etc.
>
> Perhaps we should just limit these to reporting what is local, and
> in-memory only. Clearly Javadoc'ed, of course, to detail these
> limitations - along with a general recommendation that these are
> inherited from ConcurrentMap and not expected to be used in any
> extensive or meaningful way.
+1. I like the idea of only reporting what's available locally +
documenting it correctly.
>
> A few other thoughts (and these should be javadoc'ed too):
>
> * These collections should always be immutable
> * These methods do not participate in any transactions
+1 to both.
I volunteer to implement this unless someone else wants to do it?
>
>
>
> On 4 Jun 2009, at 09:47, Galder Zamarreno wrote:
>
>> Hi,
>>
>> keySet(), values(), entrySet() do not seem to be implemented at the
>> moment:
>>
>> public Set<K> keySet() {
>> throw new UnsupportedOperationException("TODO implement me"); //
>> TODO implement me
>> }
>>
>> public Collection<V> values() {
>> throw new UnsupportedOperationException("TODO implement me"); //
>> TODO implement me
>> }
>>
>> public Set<Map.Entry<K, V>> entrySet() {
>> throw new UnsupportedOperationException("TODO implement me"); //
>> TODO implement me
>> }
>>
>> We should be implementing these methods, shouldn't we? Users might
>> want to iterate the map for example to print the contents or to verify
>> it contains what they put on it...etc.
>>
>> I can't see a JIRA for it, so I'll open one so that this gets
>> implemented for Beta1 unless someone has any objections.
>>
>> On IRC, Mircea said it might very costly, specially for dist, but we
>> still need it regardless, otherwise we're not fully implementing the
>> ConcurrentMap interface and these are commonly used methods.
>>
>> Regards,
>> --
>> 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
>
>
>
>
--
Galder Zamarreño
Sr. Software Maintenance Engineer
JBoss, a division of Red Hat
More information about the infinispan-dev
mailing list