I have just committed a small patch that introduces a new experimental
caching mode.

The trick is to skip global inter-tx caching completely and only rely on
intra-tx caching. This means every resource accessed is retrieved from
the database and only repeated requests inside a transaction will be
cached. This allows for the database to apply whatever isolation it has.

Additionally it allows for clustered solutions as caches are only help
for the duration of a transaction. Global entries that may get invalid
when another cluster node updates them do not exist, so they are no problem.

Testsuite with full global caching (~15 min.) takes half as long as the
intra-tx caching (~30 min). Although, with caching switched off
completely I never had enough patience to see the testsuite finish. So,
the new caching mode seems to be a fair compromise.

You can disable global caching done in ExtendedStore in Domain.xml using
parameter "cache-mode". Maybe like this:

     <store name="TxFileStore">
        <parameter name="cache-mode">cluster</parameter>
        ...
     </store>

or

     <store name="SQLServerStore">
        <parameter name="cache-mode">cluster</parameter>
        ...
     </store>

Oliver

P.S.: An additional mode that has global cache for read-only request is
already in preparation. It will have the same isolation features as this
new one, but will cache more. This comes at the cost of not having the
clusterable feature.




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to