CDV ❯ Tim Expirer for cleaning up entries in the user creation stuff
-
New Feature
-
Status: Closed
-
1 Critical
-
Resolution: Fixed
-
-
-
nadeem
-
Reporter: steve
-
November 11, 2008
-
0
-
Watchers: 0
-
December 16, 2008
-
December 08, 2008
Attachments
Description
Create a tim to cleanly do expiration in a 16 node test.
We need to meet and discuss requirements.
Comments
Alex Miller 2008-11-17
Alex Miller 2008-12-08
This has been added to the forge in tim-map-evictor. It consists of:
1) An Evictor that works on something implementing a relatively simple Evictable interface. The Evictor handles both TTI and TTL (or both or neither) style eviction. It is a rip off of our Ehcache evictor and is designed to be tolerant in the face of some or all L1 node crashes and also to minimize faulting during eviction. 2) A DistributedMap interface that is basically like a Map (but doesn’t formally implement the interface). Will talk more about this. 3) An implementation of DistributedMap that marries a CHM and the Evictor to give you a very basic cache where items can expire.
This implementation is now being used in the Examinator for user registration codes, password reset codes, and the exam cache.
I had a hackfest Friday night and got this pretty far along. I’ve basically put together a CHM + a simplified version of the eviction logic from Ehcache. One nice effect was that I was able to isolate the evictor from the map with just a simple EvictableMap interface.
Thus, the storage map is separated from the eviction and also to some degree from how expiration is defined. This is still in flux a bit but so far that seems like a promising design split (storage, eviction, expiration).