[SERVER-72608] Use minValid instead of minVisible when checking secondary namespaces Created: 06/Jan/23  Updated: 29/Oct/23  Resolved: 19/Jan/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.3.0-rc0

Type: Task Priority: Major - P3
Reporter: Henrik Edin Assignee: Dianna Hohensee (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-71957 Trigger Collection instantiation in m... Closed
Related
is related to SERVER-72641 Add CollectionCatalog::openCollection... Closed
Assigned Teams:
Storage Execution
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2023-01-23
Participants:

 Description   

Secondary namespaces should not throw SnapshotUnavailable either. See usages of assertAllNamespacesAreCompatibleForReadTimestamp in the PIT lookup code path.



 Comments   
Comment by Githook User [ 19/Jan/23 ]

Author:

{'name': 'Dianna Hohensee', 'email': 'dianna.hohensee@mongodb.com', 'username': 'DiannaHohensee'}

Message: SERVER-72608 AutoGet*PIT instantiates PIT Collection instances for secondary namespaces instead of throwing SnapshotUnavailable
Branch: master
https://github.com/mongodb/mongo/commit/5c0e8f05e352014567a19a2aa2c54e0bbb235072

Comment by Dianna Hohensee (Inactive) [ 09/Jan/23 ]

Looks like the code that can throw SnapshotUnavailable is here, and minValid means this _minValidSnapshot . IIUC.

I presume we can create Collection instances for reads all the way back in time to a collection's minValidSnapshot timestamp now, so instead of fetching the minVisible, which reflects the last DDL op, here, we should fetch the minValidSnapshot.

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