>1. Read only objects, cache unlimited. They shouldn't
>be locked, so for them distributed cache should work
>just broadcasting updates.

I don't think it is true. You probably mean something
else when you say lock.

All objects that involve in a transaction must be locked.
Please take a deeper look on the LockEngine.

>2. cache time-limited objects should just ignore
>distributed updates.

I don't agree on that either. The time-limited maybe
very long, because the chance it is change is very
small. But, when it is updated, we should attempts
to evict the object as soon as possible. I said asap,
because the object might be locked by a transaction.

>3. Database-Locked access should be reread every time
>from database, another why they are db-locked.

Yes, it is already done. It doesn't influence with cache.

>4. Long transactions via timestampable interface
>should
>be invalidated, because their master record changed.

Yes, but there is no reason to treat those cache differently.

>5. Pessimistic transaction in case of distributed cash
>should acquire distributed lock using shared table or
>broadcasting. This will be slow.

We are not attempting distributed locks, as I mentioned.
The database itself is our distributed lock. We do dirty
check on every update to detect if object is modified by
other application.

>6. It will be nice to implement optimistic transaction
>which will copy object into local transaction session
>and merge them back into main cache on commit.
>Drawback is copying objects.

I don't think we should attempt it.



Thomas

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to