Looking at branch-2.1-beta jenkins build, this test case seems flaky.
First, addToInvalidates() is called against a block on a datanode. This removes the dn from the BlockInfo in blocksMap.
At this point, raising the replication factor can cause the same node to be picked. If the node has already deleted the block, it will work. If not, the replication fails. When it fails, it will take at least the pending replication timeout to reschedule, which is 5 minutes. But the test will timeout before this and fail.
We could make it wait for the completion of actual block deletion. Or the test timeout can be made a lot longer, but past jiras against this test case indicate people want this to run faster.