-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 3.6.11
-
Component/s: WiredTiger
-
None
-
Fully Compatible
-
Execution Team 2019-08-26, Execution Team 2019-09-09
-
(copied to CRM)
During an upgrade from 3.6.11 to 4.0.8, the `mongod` hung and was forcibly terminated. When attempting to rollback to the previous version, the following obtuse error message was displayed in the logs noting that an unsupported WiredTiger file version was detected:
2019-04-08T10:17:02.355-0700 E STORAGE [initandlisten] WiredTiger error (-31802) [1554743822:355911][56866:0x7f7102dc9a80], connection: __log_open_verify, 1028: Version incompatibility detected: unsupported WiredTiger file version: this build requires a maximum version of 2, and the file is version 3: WT_ERROR: non-specific WiredTiger error
2019-04-08T10:17:02.356-0700 E - [initandlisten] Assertion: 28595:-31802: WT_ERROR: non-specific WiredTiger error src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 486
2019-04-08T10:17:02.356-0700 I STORAGE [initandlisten] exception in initAndListen: Location28595: -31802: WT_ERROR: non-specific WiredTiger error, terminating
The bump in WiredTiger file version was done due to changes in journalling behaviour in MongoDB 4.0, which are not compatible with MongoDB 3.6. When MongoDB 4.0 is cleanly shutdown and FCV is 3.6, we downgrade the journal to be compatible with MongoDB 3.6, but this obviously can't be done during a forcible termination.
It would be desirable to detect this error condition in newer builds of MongoDB 3.6 and provide guidance on how to resolve this error. (e.g. Starting and cleanly shutting down a 4.0 mongod followed by starting the desired 3.6 mongod.)