-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
StorEng - Refinement Pipeline
Summary
There is a check that is sometimes triggered when calling wiredtiger_open, to see whether the database files have been created (I think, but maybe just modified) by a more recent release of WiredTiger.
We should remove that check.
Motivation
The versioning scheme for WiredTiger releases isn't intended to capture upgrade/downgrade requirements. The scheme we have for managing that is the compatibility configuration option to the wiredtiger_open API.
- Does this affect any team outside of WT?
Possibly - we need to be very careful to maintain upgrade/downgrade support for MongoDB with any changes made here. This was raised because of WT-9488 and WT-8490.
The condition has been triggered because we cut a new standalone WiredTiger release in WT-9130 and encountered issues with our compatibility testing.
- How likely is it that this use case or problem will occur?
Always in the right conditions. Which are upgrade/downgrade across versions of WiredTiger.
- If the problem does occur, what are the consequences and how severe are they?
Major: A user can't open a database file they expect to be able to open.
- Is this issue urgent?
Moderately urgent. It's important that we at least understand the scope of this issue before any release of MongoDB is made with the WiredTiger version 11.0.0
If we don't do that, it's possible that the newer release version will break backward compatibility requirements moving forward.
Acceptance Criteria (Definition of Done)
Fully understand upgrade/downgrade consequences of bumping WiredTiger release versions, and confirmed that they are compatible with MongoDB requirements.
- Testing
This was uncovered via automated testing. Testing that was disabled in WT-9310 should be re-enabled.
- Documentation update
It would be good to document (or review existing documentation) around WiredTiger versioning and managing upgrade/downgrade.
[Optional] Suggested Solution
My suggested solution is to remove the compatibility check in __conn_config_check_version. The complexity is that is a forward facing change - so we need to figure out whether we'd also need to backport that change (if we do, we'll probably need to implement a downgrade floor in MongoDB to support the new WiredTiger standalone release).