The WT_SESSION::begin_transaction call can be heavyweight, particularly if the cache is full. Applications may need locking in order to allocate timestamps, so it would be preferable to decouple starting a transaction from timestamp allocation.
WT already has WT_SESSION::timestamp_transaction for setting commit_timestamp, extend it to also support setting read_timestamp.
- is depended on by
SERVER-32876 Don't stall ftdc due to WT cache full