Details
-
Task
-
Resolution: Won't Do
-
Major - P3
-
None
Description
Description
When migrating from 3.4 to 3.6, some customers can experience an error on their SECONDARY nodes due to a replset.minvalid document:
2020-02-05T12:04:58.394+0000 I - [initandlisten] Detected data files in /var/lib/mongodb created by the ‘mmapv1’ storage engine, so setting the active storage engine to ‘mmapv1’.
|
2020-02-05T12:04:58.403+0000 I JOURNAL [initandlisten] journal dir=/var/lib/mongodb/journal
|
2020-02-05T12:04:58.403+0000 I JOURNAL [initandlisten] recover : no journal files present, no recovery needed
|
2020-02-05T12:04:58.404+0000 I JOURNAL [durability] Durability thread started
|
2020-02-05T12:04:58.405+0000 I JOURNAL [journal writer] Journal writer thread started
|
2020-02-05T12:04:58.405+0000 I CONTROL [initandlisten]
|
2020-02-05T12:04:58.405+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
|
2020-02-05T12:04:58.405+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
|
2020-02-05T12:04:58.405+0000 I CONTROL [initandlisten]
|
2020-02-05T12:04:58.913+0000 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory ‘/var/lib/mongodb/diagnostic.data’
|
2020-02-05T12:04:58.984+0000 I REPL [initandlisten] Did not find local initialized voted for document at startup.
|
2020-02-05T12:04:58.985+0000 I REPL [initandlisten] Did not find local Rollback ID document at startup. Creating one.
|
2020-02-05T12:04:58.985+0000 I STORAGE [initandlisten] createCollection: local.system.rollback.id with no UUID.
|
2020-02-05T12:04:58.986+0000 I REPL [initandlisten] Initialized the rollback ID to 1
|
2020-02-05T12:04:59.032+0000 F REPL [initandlisten] Caught exception during replication recovery: Location40415: BSON field ‘MinValidDocument.h’ is an unknown field.
|
2020-02-05T12:04:59.032+0000 F - [initandlisten] terminate() called. An exception is active; attempting to gather more information
|
2020-02-05T12:04:59.055+0000 F - [initandlisten] DBException::toString(): Location40415: BSON field ‘MinValidDocument.h’ is an unknown field.
|
Actual exception type: mongo::error_details::throwExceptionForStatus(mongo::Status const&)::NonspecificAssertionException
|
Scope of changes
Add a section to https://docs.mongodb.com/manual/tutorial/troubleshoot-replica-sets/ that outlines:
1. how to identify the replset.minvalid contains invalid docs
db.getSiblingDB("local").replset.minvalid.find({}, { _id: 0, h: 1, op: 1, ns: 1, o: 1 }) |
If the query displays any values then step 2 will be necessary
2. how to update the docs:
db.getSiblingDB("local").replset.minvalid.update({},{$unset:{h:"",op:"",ns:"",o:""}}) |