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 > >
