Following WT-4185, if there are prepared updates on a page that has been lookaside evicted, these lookaside entries will not be removed on reading the page back.
Lookaside sweep also doesn't remove a block that has prepared updates, in __wt_las_sweep:
/* * There are several conditions that need to be met * before we choose to remove a key block: * * The entries were written with skew newest. * Indicated by the first entry being a birthmark. * * The first entry is globally visible. * * The entry wasn't from a prepared transaction. */ if (upd_type == WT_UPDATE_BIRTHMARK && __wt_txn_visible_all(session, las_txnid, val_ts) && prepare_state != WT_PREPARE_INPROGRESS) removing_key_block = true; else removing_key_block = false;
This ticket will track the effort of making sure that prepared updates get removed from lookaside at the time of page re-instantiation when reading the page back in memory.