As part of SERVER-39036, We would be unpinning the stable timestamp. And make it to move past the oldest active prepared timestamp. If that's the case, when we move forward stable timestamp, we would also be moving forward the oldest timestamp along with it to reduce the cache pressure. This means, during steady state replication, if we try to commit a prepared transaction with a commit timestamp < oldest timestamp, wiredTiger currently throws an error for this check. This problem exist even in recovery & initial sync while replaying the commit transaction oplog entry, where we would be committing a prepared transaction older than oldest timestamp.
This means we should relax oldest timestamp check for the prepared transactions like we do it for stable timestamp) & allow committing the prepared transaction older than oldest timestamp.
- is depended on by
-
SERVER-39782 Replaying prepared transaction writes for commit oplog entry during replication recovery and initial sync should set commit and durable timestamp for those writes.
- Closed
-
SERVER-39036 Stop pinning stable timestamp behind prepared transactions
- Closed