[infinispan-dev] keySet(), values() and entrySet() not implemented

Manik Surtani manik at jboss.org
Thu Jun 4 05:57:29 EDT 2009


On 4 Jun 2009, at 10:49, Mircea Markus wrote:

> Manik Surtani wrote:
>>
>> On 4 Jun 2009, at 10:36, Mircea Markus wrote:
>>
>>> Galder Zamarreno wrote:
>>>>
>>>>
>>>> Mircea Markus wrote:
>>>>> Manik Surtani wrote:
>>>>>> </snip>
>>>>>>
>>>>>> I still reckon that these methods should just query the local,  
>>>>>> in-memory data container.  And be documented such that this is  
>>>>>> what is expected.  Like I said the potential for OOMs is huge  
>>>>>> otherwise - regardless of DIST.
>>>>> that would 'lay' to the user and break the API as well. We can  
>>>>> add Cache (vs Map) methods for that.
>>>>
>>>> Hmmmm, I suppose you mean lie?
>>> yes :)
>>>> As long as we document it correctly, I think we should be fine.  
>>>> We could even show an info message when DIST is in use to further  
>>>> remain them that the view they get only contains the local data.
>>>>
>>>> I don't think it breaks the API. It has limitations but I don't a  
>>>> break.
>>> cache.put(k,v);
>>> asser cache.keySet().contains(k) : "this will fail even within a  
>>> tx";
>>
>> This can be a problem with a CHM as well:
>>
>> map.put(k, v)
>> assert map.size() // may not return what you expect
> that brings another thing into my mind: cache.size is also local.

Yup.


>
>>
>>> I generally think that it's better not to give any information  
>>> than give incomplete/incorrect one, on the other hand I see the  
>>> point with having this local
>>
>> One of the limitations of Cache extending ConcurrentMap.  IMO the  
>> only real drawback of extending ConcurrentMap.
>>
>>>
>>>> It's a bit like size() with ConcurrentHashMap. It does not give  
>>>> you an accurate number. The same with keySet()/entrySet() and  
>>>> DIST mode, it does not give an accurate view because of the  
>>>> pitfalls mentioned.
>>>>
>>>>>> Cheers
>>>>>> -- 
>>>>>> Manik Surtani
>>>>>> manik at jboss.org
>>>>>> Lead, Infinispan
>>>>>> Lead, JBoss Cache
>>>>>> http://www.infinispan.org
>>>>>> http://www.jbosscache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>> -- 
>> Manik Surtani
>> manik at jboss.org
>> Lead, Infinispan
>> Lead, JBoss Cache
>> http://www.infinispan.org
>> http://www.jbosscache.org
>>
>>
>>
>>
>

--
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