[SPARK-2670] FetchFailedException should be thrown when local fetch has failed

I thought next() would return a failure block, and then the caller of BlockFetcherIterator will just stop. Did you see it not doing that? I think all you have to do is put *one* FetchResult with size = -1 in the queue and return, and everything will be fine.