[SERVER-40575] Improve error message when starting MongoDB 3.6 on unclean shutdown of MongoDB 4.0 Created: 10/Apr/19  Updated: 29/Oct/23  Resolved: 29/Aug/19

Status: Closed
Project: Core Server
Component/s: WiredTiger
Affects Version/s: 3.6.11
Fix Version/s: 3.6.15

Type: Improvement Priority: Major - P3
Reporter: James Kovacs Assignee: Xiangyu Yao (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2019-08-26, Execution Team 2019-09-09
Participants:
Case:

 Description   

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.)



 Comments   
Comment by Daniel Gottlieb (Inactive) [ 11/Apr/19 ]

I'm cautiously optimistic that backporting SERVER-35271 to 3.6 would solve the jargon error message. Some additional copy (not done in SERVER-35271) is probably necessary to give appropriate guidance on how to resolve the situation.

Generated at Thu Feb 08 04:55:23 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.