Durable updates are currently treated as uncommitted from the point of view of eviction. We should allow them to be evicted to the lookaside file. We implemented most of the machinery required to do this as part of the original transaction prepare work. Since committing a prepared transaction now searches for updates via cursor operations, rather than referencing them directly in cache.
This work involves:
- Ensuring the durable timestamp is written to the lookaside file
- Ensuring the durable timestamp is read from the lookaside file
- Create a test to simulate the cache stuck for updates with durable timestamp > stable timestamp. During checkin reduce the number of updates so that cache stuck will not happen.