Because arbiters do not track FCV (since they do not follow the oplog and thus do not currently know when it is upgraded), the WiredTiger data format for arbiters is stuck on 2.9 (the version associated with MongoDB 3.2). We must keep dragging along the parsing code and associated test code for that version for each new release of MongoDB, indefinitely.
Some ways to fix this would be:
- upgrade arbiters to the 4.2 data format immediately, the first time a 4.2 binary is run, and change the downgrade instructions to delete all arbiter datafiles on downgrade.
- change the way FCV changes are propagated so arbiters hear about them.
- deprecate and remove support for non-replicating arbiters.