If a shard is removed during the M/R process, due to
SERVER-5625, it is possible the shardedFinish will try to contact the stale shard and fail.
2.1.2 improves the error message but does not fully solve. There isn't a way currently to manually refresh the shard view aside from triggering a migration (only in 2.1.2).
Better messaging should be put around socket exceptions due to
SERVER-5625, as the nested exception is pretty confusing to track.