-
Type: Bug
-
Resolution: Fixed
-
Priority: Critical - P2
-
Affects Version/s: None
-
Component/s: None
-
Storage Engines
daniel.gottlieb points out:
The commit timestamp is not re-checked against stable at commit time. So, this script fails:
self.conn.set_timestamp('stable_timestamp=' + self.timestamp_str(10)) cself.conn.set_timestamp('stable_timestamp=' + self.timestamp_str(10)) c = self.session.open_cursor('table:xxx') self.session.begin_transaction() c[5] = 'xxx' self.conn.set_timestamp('stable_timestamp=' + self.timestamp_str(30)) self.session.commit_transaction('commit_timestamp=' + self.timestamp_str(20))
fails with:
__wt_txn_set_commit_timestamp, 568: commit timestamp (0, 20) must be after the stable timestamp (0, 30)
but setting the commit timestamp before stable is set succeeds:
self.conn.set_timestamp('stable_timestamp=' + self.timestamp_str(10)) c = self.session.open_cursor('table:xxx') self.session.begin_transaction() c[5] = 'xxx' self.session.timestamp_transaction('commit_timestamp=' + self.timestamp_str(20)) self.conn.set_timestamp('stable_timestamp=' + self.timestamp_str(30)) self.session.commit_transaction()
- depends on
-
SERVER-65144 commit and durability timestamps are not validated at transaction commit
- Closed
- has to be done before
-
WT-9066 format uses all_durable to set the stable timestamp
- Backlog
- related to
-
WT-9041 checkpoint can miss transactions with commit times before stable
- Closed
- mentioned in
-
Page Loading...