[jbosscache-dev] JBoss Cache weakness handling heuristic transaction outcomes - [Fwd: [Fwd: New case comment notification. Case Number 00017677]]
Manik Surtani
manik at jboss.org
Tue Aug 21 11:47:54 EDT 2007
Or just a configuration entry. :-) I just don't like introducing
config entries in SPs.
On 21 Aug 2007, at 16:37, Galder Zamarreno wrote:
>
>
> Manik Surtani wrote:
>> No - by purge, I mean remove all affected nodes from the cache,
>> thereby assuming that the cache is backed by a DB and will be
>> populated again.
>
> Ok, I understood now. Sounds like a good solution but not sure
> whether it should be configured via a system property. Bearing in
> mind that there can be several JBC instances running in AS, do we
> want to make this a global thing for all of them? Some of these
> instances might have DBs in the back, i.e. HB 2nd level cache
> (which is the customer's use case) or not, as in the HTTP session
> repl cache.
>
> A workaround like this could work thought:
>
> -D<cache_instance_name>.tx.heuristic_outcome_purge = true
>
> Thoughts?
>> On 21 Aug 2007, at 16:10, Galder Zamarreno wrote:
>>>
>>>
>>> Manik Surtani wrote:
>>>> On 21 Aug 2007, at 15:44, Jonathan Halliday wrote:
>>>>> Manik Surtani wrote:
>>>>>> Sorry about the slow response on this.
>>>>>> While making JBC an XA resource is on the roadmap, it isn't
>>>>>> something scheduled for any imminent release [1], as this is a
>>>>>> pretty big change for the JBC codebase (and more importantly,
>>>>>> a big feature change which would involve a lot of
>>>>>> compatibility testing).
>>>>>> For the time being, treating STATUS_UNKNOWN as a rollback
>>>>>> would help, but only provided the database (and any other
>>>>>> resources participating in the tx) has rolled back as well.
>>>>>> Jonathan, correct me if I am wrong, but there is no way to
>>>>>> know this unless we are an XA resource as well, am I right?
>>>>>
>>>>> Actually in heuristic outcomes you still won't necessarily know
>>>>> what the db did. The transaction manger will tell you what it
>>>>> decided, but not what each individual resource actually did.
>>>>> For that you would need JBossTS specific code rather than
>>>>> general XAResource code. You can partially address that by
>>>>> making the cache the last resource but you won't eliminate it
>>>>> entirely.
>>>>>
>>>>>> So is it reasonable to treat a STATUS_UNKNOWN as a rollback,
>>>>>> and document this limitation, until JBCACHE-70?
>>>>>
>>>>> yes, or toss anything that is affected out of the cache and let
>>>>> it be reread from the db on the next tx, which would prevent
>>>>> you ever getting out of sync. Or course that assumes the data
>>>>> is backed by some store e.g. the db, which is the case only for
>>>>> EJBs. General purpose use of the cache is a more difficult case.
>>>> Perhaps a switch for this behaviour? By default, do a rollback,
>>>> unless -Dorg.jboss.cache.tx.heuristic_outcome_purge = true?
>>>
>>> By purge, you mean?
>>> - rollback modifications
>>> - and commit the tx
>>>
>>>> What do you guys think?
>>>> Cheers,
>>>> --
>>>> Manik Surtani
>>>> Lead, JBoss Cache
>>>> JBoss, a division of Red Hat
>>>
>>> --
>>> Galder Zamarreño
>>> Sr. Software Maintenance Engineer
>>> JBoss, a division of Red Hat
>> --
>> Manik Surtani
>> Lead, JBoss Cache
>> JBoss, a division of Red Hat
>
> --
> Galder Zamarreño
> Sr. Software Maintenance Engineer
> JBoss, a division of Red Hat
--
Manik Surtani
Lead, JBoss Cache
JBoss, a division of Red Hat
More information about the jbosscache-dev
mailing list