...
BugZero found this defect 2693 days ago.
As part of SERVER-27659 we moved from an in-memory rbid to one stored in a collection, which requires a global IS lock. This makes commands that didn't used to require any global lock require one to fill in the replSet metadata. This seems to be causing spurious stepdowns in some of our tests. Additionally, it prevents FTDC from capturing data while the global lock is held or pending.
xgen-internal-githook commented on Sat, 29 Apr 2017 12:25:23 +0000: Author: {u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'} Message: SERVER-28988 add ReplicationProcess This class is intended to hold replication state in a secondary node related to the copying and applying operations from the sync source. This initial implementation holds a cached copy of the rollback ID only. Branch: master https://github.com/mongodb/mongo/commit/ce76085e2464c38119b307851d4c63687d9a581f benety.goh commented on Fri, 28 Apr 2017 14:19:06 +0000: We should definitely cache the RBID. schwerin and I discussed this and we are proposing new object attached to the ServiceContext that will be used for caching the rollback ID for now but may be expanded to hold other state for replication.