Details
-
Task
-
Resolution: Done
-
Major - P3
-
None
-
None
Description
The changes here update the use of commit_timestamp to durable_timestamp with the API set_timestamp. As indicated in the docs (https://source.wiredtiger.com/develop/struct_w_t___c_o_n_n_e_c_t_i_o_n.html#ad082439541b1b95d6aae6c15026fe512), commit_timestamp has been deprecated.
Until now, commit_timestamp was implicitly converted to durable_timestamp. After WT-8583, any call to set_timestamp with commit_timestamp won't work.
It would be great to verify in the docs that there is no reference to commit_timestamp when a MongoDB APIs leads to the usage of set_timestamp.
Description of Linked Ticket
There are several places in mongodb where set_timestamp is called with the commit_timestamp config. This is deprecated and they should be changed to durable_timestamp.
auto commitTSConfigString = "commit_timestamp={:x}"_format(truncTs.asULL());
|
invariantWTOK(conn->set_timestamp(conn, commitTSConfigString.c_str()));
|
auto oldestTSConfigString =
|
"force=true,oldest_timestamp={0:x},commit_timestamp={0:x}"_format(
|
newOldestTimestamp.asULL());
|
invariantWTOK(_conn->set_timestamp(_conn, oldestTSConfigString.c_str()));
|
if (force) {
|
stableTSConfigString =
|
"force=true,oldest_timestamp={0:x},commit_timestamp={0:x},stable_timestamp={0:x}"_format(
|
ts);
|
stdx::lock_guard<Latch> lk(_highestDurableTimestampMutex);
|
_highestSeenDurableTimestamp = ts;
|
} else {
|
stableTSConfigString = "stable_timestamp={:x}"_format(ts);
|
}
|
invariantWTOK(_conn->set_timestamp(_conn, stableTSConfigString.c_str()));
|
Attachments
Issue Links
- documents
-
SERVER-62383 Use durable_timestamp instead of commit_timestamp for set_timestamp
-
- Closed
-