Details
Description
This index build should be run with write concern "majority" because it will set a collection's minVisibleSnapshot when committing. If the index build's commit timestamp isn't included in all_durable, then this transaction could establish a readTimestamp earlier than the collection's minVisibleSnapshot (since it is run with snapshot read concern without atClusterTime, it will choose the all_durable timestamp as its readTimestamp). This causes the transaction to fail with snapshot unavailable. In order to fix this, the index build's commit timestamp should be included in all_durable so that any oplog holes before the collection's minVisibleSnapshot are filled before starting the transction.