- 
    Type:
Task
 - 
    Resolution: Done
 - 
    Affects Version/s: None
 - 
    Component/s: None
 - 
    None
 
- 
        None
 - 
        None
 
An update that remains in memory while 2 billion transactions are executed will become invisible. Force eviction of pages with very old updates – this should be very uncommon but the consequences of not handling it are fatal.
This should just involve storing the first update to a page in the WT_PAGE_MODIFY struct, and testing it against txn_global->id in _wt_eviction_page_check). We should do the same test in _wt_page_in_func, to be sure.
(FWIW, PostgreSQL has the exact same issue, for the same reason. See http://www.postgresql.org/docs/9.1/static/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND for details).