[infinispan-dev] Dynamic externalizer configuration - WAS Re: Cache startup
Galder Zamarreño
galder at redhat.com
Thu Feb 10 11:51:50 EST 2011
Eduardo,
I understand your concerns but doing something like you say is anything but trivial cos you'd have to deal with potential race conditions between trying to deserialize a custom object and making sure the externalizer has been configured.
For example, imagine the case where Node A sets up the Externalizers slightly earlier than Node B, and Node A sends a replication message with the custom object. If Node B has not yet set the externalizer, it will fail.
So, I can only see something like this working if the configuration is something that's done in an atomic fashion across the cluster, which would complicate how configuration is handled.
I'll have a think over it in the next few days though to see if I can come up with something else.
It'll be interesting to hear what others have to say about this too.
Cheers,
On Feb 10, 2011, at 12:33 PM, Eduardo Martins wrote:
> That is a bummer, cause global configuration setup needs to be done
> before cache starts, so no chance of adding Externalizers with the
> Cache instance already created. IMHO it will also make everything more
> complicated with the usual model of getting a cache already
> pre-configurated from manager, like done currently in AS5 for JBC, and
> then applying more configuration. Well, will need to rework the whole
> startup model.
>
> The DCM getStatus() returns RUNNING after getting cache.
>
> -- Eduardo
> ..............................................
> http://emmartins.blogspot.com
> http://redhat.com/solutions/telco
>
>
>
> On Thu, Feb 10, 2011 at 9:33 AM, Galder Zamarreño <galder at redhat.com> wrote:
>> Yeah, that's expected cos you can't get a cache without starting it. We're likely to provide such functionality in the near future (https://issues.jboss.org/browse/ISPN-627)
>>
>> In the code that you showed, could you check one thing? If you get a DefaultCacheManager without starting it, after getting the cache, what's DCM returning to getStatus() method call?
>>
>> On Feb 9, 2011, at 4:45 PM, Eduardo Martins wrote:
>>
>>> cache = new DefaultCacheManager(globalConfiguration,
>>> configuration, false).getCache()
>>>
>>> The cache is returned already started, is this the expected behavior?
>>>
>>> -- Eduardo
>>> ..............................................
>>> http://emmartins.blogspot.com
>>> http://redhat.com/solutions/telco
>>
>> --
>> Galder Zamarreño
>> Sr. Software Engineer
>> Infinispan, JBoss Cache
>>
>>
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache
More information about the infinispan-dev
mailing list