[infinispan-dev] BucketBasedCacheStore#loadBucket does not set the bucketName

Manik Surtani manik at jboss.org
Thu Apr 9 13:00:28 EDT 2009


Hmm,  that actually wont work since Bucket is Externalizable.  What we  
should do this this:

1.  Ensure we have a ctor that takes in a name.  This is the only ctor  
that should be used by the cache stores directly, and should be  
documented as such.
2.  The empty ctor is purely for deserialization.  And this should be  
documented accordingly as well.  With all the caveats that if it is  
used, the name *must* be set immediately afterwards.
3.  Provide a helper method in BucketBasedCacheStore to load a bucket  
from a stream.

protected final Bucket loadFromStream(String bucketName, ObjectInput  
in) {
    // read from stream
    // set name
    // return
}

so that store impls never have to worry about setting the name, even  
if the bucket is obtained by deserializing a stream.

WDYT?

Cheers
Manik


On 9 Apr 2009, at 17:47, Adrian Cole wrote:

> +1 for making bucket name final, set in constructor.
>
> On Thu, Apr 9, 2009 at 6:45 PM, Manik Surtani <manik at jboss.org> wrote:
>> Is there any reason for a Bucket's name *not* to be final, and as  
>> such, set
>> in its constructor?
>>
>> On 9 Apr 2009, at 17:40, Adrian Cole wrote:
>>
>>> When in BucketBasedCacheStore.removeLockSafe, the following is  
>>> called:
>>>
>>> Bucket bucket = loadBucket(keyHashCodeStr);
>>>
>>> now, the bucket returned does not always have its name set (at least
>>> in the BaseCacheStoreTest:402)
>>>
>>> I would suggest to either enforce bucket's immutable name field, or
>>> ensure it is set on all options.  Otherwise, all cachestore
>>> implementations have to check this individually.
>>>
>>> WDYT?
>>>
>>> -Adrian
>>>
>>> _______________________________________________
>>> 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
>>
>>
>>
>>
>>

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