Thanks, will do. unit tests are a must here.

On Fri, Dec 3, 2010 at 1:53 AM, Julian Maughan <[email protected]> wrote:
> Please submit your work by creating a JIRA Issue (here:
> http://jira.nhforge.org) and attach a SVN patch with your changes. We would
> like to see some (unit-)tests as well, unless you think that existing tests
> offer good enough coverage.
> Regards
> Julian
>
> On Fri, Dec 3, 2010 at 1:31 PM, Aaron Boxer <[email protected]> wrote:
>>
>> Hello All,
>>
>> I've just finished a massive refactoring of the NH cache classes. The
>> biggest change is the introduction of a
>> copy-on-write cache concurrency strategy, where each session, after
>> locking an entity, performs a copy on write into
>> a local per session cache, and copies the write back into the main
>> cache after an entity has been unlocked
>> (assuming that the main cache item for this key is puttable).
>>
>> This provides true repeatable read and read committed isolation for
>> different sessions, and allows one session to access a cache key
>> after another session locks it, as opposed to forcing the first
>> session to hit the database. (Note: the copy
>> on write cache only works for versioned entites).
>>
>> The strategy uses a reader/writer lock for synchronizing access to the
>> cache (ReaderWriterLockSlim), so performance should be
>> good. (I've also converted the ReadWriteCache strategy to use a
>> reader/writer lock)
>>
>> I've updated my Redis-based cache provider to support the new copy on
>> write cache strategy, and because of how
>> Redis is designed, it is possible to remove all locks. So compared to
>> other distributed caches, performance should
>> be excellent.
>>
>> What is the best way of submitting these changes for review?
>>
>> Thanks,
>> Jorge
>
>

Reply via email to