We want to manage better the way we update the stable ts in the cpp suite. Currently we update the stable ts periodically and maintain a lag with the latest generated ts. However, we don't take into consideration what is happening in the system, i. running transactions. This means we could update the stable ts to a date that is beyond the commit ts one of those running transactions.
- Does this affect any team outside of WT?
- How likely is it that this use case or problem will occur?
It is an improvement, no issues so far. But we had issues in the past, see
WT-9115 where a transaction would have a commit ts that is more recent that the stable ts.
- If the problem does occur, what are the consequences and how severe are they?
WT-9115, we were trying to commit a transaction that had an invalid commit ts.
Acceptance Criteria (Definition of Done)
Find a way to update the stable ts so it does not get beyond the commit ts of a running transaction.
One solution would be to do something similar to what test/format does: it checks each running transaction and their commit ts, selects the min and sets the stable ts to a lower value than the min.