With the completion of
SERVER-38548 making index drops two-phase, we can now remove the special handling where we rebuild indexes on rollback because the index table was dropped immediately and the dropIndex gets rolled back.
I believe this code in kv_storage_engine.cpp does the special handling and can now be eliminated safely.
Suppose the oplog contains:
ts: 10, createIndex: "a"
ts: 30, dropIndex: "a"
If the secondary completes the background index and timestamps the `ready: true` write at ts: 20, rolling back to 25 will show a `ready: true` index, but no underlying table because it was dropped. (edited)
Note: A good way to test that those code paths are inactive might be to add some invariants that they never occur anymore and run a full evergreen patch.