[SERVER-65262] Expand usage of WT numerical timestamp API Created: 05/Apr/22  Updated: 29/Oct/23  Resolved: 03/May/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.0.1, 4.4.16, 5.0.11, 6.1.0-rc0

Type: Improvement Priority: Major - P3
Reporter: Gregory Noma Assignee: Gregory Noma
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
depends on WT-8366 API to set transaction commit timesta... Closed
Related
related to SERVER-64797 Use WT's new numerical timestamp API Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v6.0, v5.0, v4.4
Sprint: Execution Team 2022-05-16
Participants:

 Description   

In SERVER-64797, we converted our usages of timestamp_transaction to timestamp_transaction_uint. However, for instances where we use commit_transaction (for example on secondaries), we're still serializing the timestamps into a string. We should try to avoid the serialization for this case as well.

One option is to call timestamp_transaction_uint twice before commit_transaction, something like:

s->timestamp_transaction(s, "commit_timestamp=1");
s->timestamp_transaction(s, "durable_timestamp=2");
s->commit_transaction(s, nullptr);

A potential downside is that there may be some extra overhead from this approach, since the timestamps will be validated twice: once when set and once when committing.

Another option is to look into adding a new interface from the WT side for this purpose.



 Comments   
Comment by Githook User [ 26/Jul/22 ]

Author:

{'name': 'Gregory Noma', 'email': 'gregory.noma@gmail.com', 'username': 'gregorynoma'}

Message: SERVER-65262 Use `timestamp_transaction_uint` for `commit_transaction`

(cherry picked from commit 497bbb6faf83673f226a34988e0d75ad62e2020d)
Branch: v4.4
https://github.com/mongodb/mongo/commit/254925ef996e437cd6324e6a2e042d52d4b3761b

Comment by Githook User [ 25/Jul/22 ]

Author:

{'name': 'Gregory Noma', 'email': 'gregory.noma@gmail.com', 'username': 'gregorynoma'}

Message: SERVER-65262 Use `timestamp_transaction_uint` for `commit_transaction`

(cherry picked from commit 497bbb6faf83673f226a34988e0d75ad62e2020d)
Branch: v5.0
https://github.com/mongodb/mongo/commit/b019f71606e56b74dac2523bfb649e7e7eaffbe0

Comment by Githook User [ 25/Jul/22 ]

Author:

{'name': 'Gregory Noma', 'email': 'gregory.noma@gmail.com', 'username': 'gregorynoma'}

Message: SERVER-65262 Use `timestamp_transaction_uint` for `commit_transaction`

(cherry picked from commit 497bbb6faf83673f226a34988e0d75ad62e2020d)
Branch: v6.0
https://github.com/mongodb/mongo/commit/a4241e43da416bed4e3d7aec9a9a0a94dd6d5ec8

Comment by Githook User [ 03/May/22 ]

Author:

{'name': 'Gregory Noma', 'email': 'gregory.noma@gmail.com', 'username': 'gregorynoma'}

Message: SERVER-65262 Use `timestamp_transaction_uint` for `commit_transaction`
Branch: master
https://github.com/mongodb/mongo/commit/497bbb6faf83673f226a34988e0d75ad62e2020d

Generated at Thu Feb 08 06:02:15 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.