[DOCS-15035] Investigate changes in SERVER-62383: Use durable_timestamp instead of commit_timestamp for set_timestamp Created: 13/Jan/22  Updated: 13/Nov/23  Resolved: 04/Apr/22

Status: Closed
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: 5.3.0, Server_Docs_20231030, Server_Docs_20231106, Server_Docs_20231105, Server_Docs_20231113

Type: Task Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Kenneth Dyer
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Documented
documents SERVER-62383 Use durable_timestamp instead of comm... Closed
Participants:
Days since reply: 1 year, 44 weeks, 2 days ago
Epic Link: DOCSP-19447

 Description   
Downstream Change Summary

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()));



 Comments   
Comment by Louis Williams [ 04/Apr/22 ]

kenneth.dyer thanks for checking. I don't believe any docs changes are required.

Comment by PM Bot [ 13/Jan/22 ]

Downstream changes updated for upstream SERVER-62383:
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.

Generated at Thu Feb 08 08:11:49 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.