[SERVER-15319] Verify 2.8 freelist is upgrade-downgrade safe with 2.6 Created: 18/Sep/14  Updated: 02/Aug/18  Resolved: 25/Sep/14

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 2.6.5, 2.7.8

Type: Task Priority: Major - P3
Reporter: Mathias Stearn Assignee: Mathias Stearn
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Tested
Backwards Compatibility: Minor Change
Backport Completed:
Participants:

 Description   

Know issues:

  • If compact is run on a downgraded server (ran 2.8, now running 2.6), it will attempt to orphan the deleted list, but will not orphan the 2.8-only portion. If such a server was upgraded in the future, it would try to use deleted records in freed extents.
    • Solution: have 2.6 zero-out reserved bytes in NamespaceDetails when orphaning the deleted list during a compact.


 Comments   
Comment by Githook User [ 19/Oct/14 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-15319 Fix stats.js for new pdfile version
Branch: master
https://github.com/mongodb/mongo/commit/d62a1f4e030f9e50afededd8f2b2167649c40696

Comment by Githook User [ 18/Oct/14 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-15319 Multiversion test for freelist upgrade-downgrade
Branch: master
https://github.com/mongodb/mongo/commit/3c54ca1f58084845b7f778bde2f8a0f2138f727e

Comment by Githook User [ 18/Oct/14 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-15319 Bump file versions for 2.8-style freelist
Branch: master
https://github.com/mongodb/mongo/commit/7e7439bab78da9c993fcf566e4ea8d5c0570ad8d

Comment by Githook User [ 18/Oct/14 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-14081 Add more deletedList buckets to cover more sizes

This is done in a backward compatible way without orphaning any old data.
Downgrading after this patch will orphan large (>=4MB) deleted records, but
they will be usable again after upgrading. Additionally, the compact command
should not be run on a downgraded server until SERVER-15319 is resolved.
Branch: master
https://github.com/mongodb/mongo/commit/4d34532dbf749fe2c9df9ed7421db196eaf93632

Comment by Githook User [ 24/Sep/14 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'redbeard0531@gmail.com'}

Message: SERVER-15319 Handle 2.8-style freelist bit in pdfile version
Branch: v2.6
https://github.com/mongodb/mongo/commit/d80e60ba69909ff6131da82674c6c9e788b28e4d

Comment by Mathias Stearn [ 22/Sep/14 ]

We decided to bump the PD file minor version in 2.8 to prevent downgrading to older than 2.6.5.

Comment by Githook User [ 22/Sep/14 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'redbeard0531@gmail.com'}

Message: SERVER-15319 Forward-compatible change for 2.8 freelist

Makes NamespaceDetails::orphanDeletedList() also orphan the new 2.8-only
deleted lists. This ensures that 2.8 won't attempt to reuse the space in
extents that no longer belong to this collection.
Branch: v2.6
https://github.com/mongodb/mongo/commit/7f3e27009faafa5b3f8913f05c1be3d49e36ff08

Generated at Thu Feb 08 03:37:41 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.