We disallow interruptions in Map-Reduce on single node and on shards. They will conflict with prepared transactions on stepdown and shutdown. We can either make Map-Reduce interruptible or use weaker IX and IS locks instead.
dropTempCollections() is also protected by UninterruptibleLockGuard. If the temp collections are only in local database as done by
SERVER-35365, they won't conflict with prepared transactions. This ticket should also audit that.