[DOCS-10543] Docs for SERVER-24095: Set a feature bit in the KVCatalog when tracking path-level multikey info becomes enabled for an index Created: 18/Jul/17  Updated: 29/Oct/23  Resolved: 03/Aug/17

Status: Closed
Project: Documentation
Component/s: None
Affects Version/s: None
Fix Version/s: 3.3.8

Type: Task Priority: Major - P3
Reporter: Emily Hall Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Documented
documents SERVER-24095 Set a feature bit in the KVCatalog wh... Closed
Participants:
Days since reply: 6 years, 28 weeks ago

 Description   

Documentation Request Summary:

No documentation summary in engineering ticket

Engineering Ticket Description:

This change makes it so that mongod will set the first "repairable" feature bit (named kPathLevelMultikeyTracking) to indicate that at least one index in the data files supports path-level multikey tracking. If no feature has already been marked as in-use, then creating a new index on 3.3.7+ will also cause a feature document to be inserted into the KVCatalog.

When attempting to downgrade to a version of MongoDB earlier than 3.2.7 (i.e. a mongod without the changes from SERVER-23117), the mongod will fail to start with the following message:

2016-05-31T13:18:10.886-0400 I CONTROL  [initandlisten] db version v3.2.1
...
2016-05-31T13:18:11.090-0400 I -        [initandlisten] Assertion: 13111:wrong type for field (ns) 10 != 2
2016-05-31T13:18:11.099-0400 I CONTROL  [initandlisten]
 0x12cf722 0x127ac14 0x12667a8 0x126685c 0xf9d3de 0xfa7eba 0x103f5d5 0xf679a8 0x93bc91 0x9403b9 0x7f8319052ec5 0x939829
----- BEGIN BACKTRACE -----
{"backtrace":[{"b":"400000","o":"ECF722"},{"b":"400000","o":"E7AC14"},{"b":"400000","o":"E667A8"},{"b":"400000","o":"E6685C"},{"b":"400000","o":"B9D3DE"},{"b":"400000","o":"BA7EBA"},{"b":"400000","o":"C3F5D5"},{"b":"400000","o":"B679A8"},{"b":"400000","o":"53BC91"},{"b":"400000","o":"5403B9"},{"b":"7F8319031000","o":"21EC5"},{"b":"400000","o":"539829"}],"processInfo":{ "mongodbVersion" : "3.2.1", "gitVersion" : "a14d55980c2cdc565d4704a7e3ad37e4e535c1b2", "compiledModules" : [], "uname" : { "sysname" : "Linux", "release" : "3.13.0-37-generic", "version" : "#64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014", "machine" : "x86_64" }, "somap" : [ { "elfType" : 2, "b" : "400000" }, { "b" : "7FFF388FE000", "elfType" : 3 }, { "b" : "7F831A038000", "path" : "/lib/x86_64-linux-gnu/librt.so.1", "elfType" : 3 }, { "b" : "7F8319E34000", "path" : "/lib/x86_64-linux-gnu/libdl.so.2", "elfType" : 3 }, { "b" : "7F8319B30000", "path" : "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", "elfType" : 3 }, { "b" : "7F831982A000", "path" : "/lib/x86_64-linux-gnu/libm.so.6", "elfType" : 3 }, { "b" : "7F8319614000", "path" : "/lib/x86_64-linux-gnu/libgcc_s.so.1", "elfType" : 3 }, { "b" : "7F83193F6000", "path" : "/lib/x86_64-linux-gnu/libpthread.so.0", "elfType" : 3 }, { "b" : "7F8319031000", "path" : "/lib/x86_64-linux-gnu/libc.so.6", "elfType" : 3 }, { "b" : "7F831A240000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3 } ] }}
 mongod-3.2.1(_ZN5mongo15printStackTraceERSo+0x32) [0x12cf722]
 mongod-3.2.1(_ZN5mongo10logContextEPKc+0x134) [0x127ac14]
 mongod-3.2.1(_ZN5mongo11msgassertedEiPKc+0x88) [0x12667a8]
 mongod-3.2.1(+0xE6685C) [0x126685c]
 mongod-3.2.1(_ZN5mongo9KVCatalog4initEPNS_16OperationContextE+0x31E) [0xf9d3de]
 mongod-3.2.1(_ZN5mongo15KVStorageEngineC1EPNS_8KVEngineERKNS_22KVStorageEngineOptionsE+0x51A) [0xfa7eba]
 mongod-3.2.1(+0xC3F5D5) [0x103f5d5]
 mongod-3.2.1(_ZN5mongo20ServiceContextMongoD29initializeGlobalStorageEngineEv+0x588) [0xf679a8]
 mongod-3.2.1(_ZN5mongo13initAndListenEi+0x321) [0x93bc91]
 mongod-3.2.1(main+0x149) [0x9403b9]
 libc.so.6(__libc_start_main+0xF5) [0x7f8319052ec5]
 mongod-3.2.1(+0x539829) [0x939829]
-----  END BACKTRACE  -----
2016-05-31T13:18:11.100-0400 I STORAGE  [initandlisten] WiredTigerKVEngine shutting down
2016-05-31T13:18:11.198-0400 I STORAGE  [initandlisten] exception in initAndListen: 13111 wrong type for field (ns) 10 != 2, terminating
2016-05-31T13:18:11.198-0400 I CONTROL  [initandlisten] dbexit:  rc: 100


The feature bit in the KVCatalog should only be set when a new index is being created on 3.3+. The changes in this ticket will make it so that it isn't possible to downgrade to a version older of MongoDB than the fixVersion of SERVER-23117.



 Comments   
Comment by Kay Kim (Inactive) [ 03/Aug/17 ]

we already state that can't downgrade to anything less than 3.2.7

https://docs.mongodb.com/manual/release-notes/3.4-upgrade-standalone/#downgrade-consideration

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