We may want to Async the completion check entirely so that we don't restart client code if the completion write transaction has a collision.