otterc opened a new pull request, #41762:
URL: https://github.com/apache/spark/pull/41762

   ### What changes were proposed in this pull request?
   The executor expects `numChunks` to be > 0. If it is zero, then we see that 
the executor fails with 
   ```
   23/06/20 19:07:37 ERROR task 2031.0 in stage 47.0 (TID 25018) Executor: 
Exception in task 2031.0 in stage 47.0 (TID 25018)
   java.lang.ArithmeticException: / by zero
        at 
org.apache.spark.storage.PushBasedFetchHelper.createChunkBlockInfosFromMetaResponse(PushBasedFetchHelper.scala:128)
        at 
org.apache.spark.storage.ShuffleBlockFetcherIterator.next(ShuffleBlockFetcherIterator.scala:1047)
        at 
org.apache.spark.storage.ShuffleBlockFetcherIterator.next(ShuffleBlockFetcherIterator.scala:90)
        at 
org.apache.spark.util.CompletionIterator.next(CompletionIterator.scala:29)
        at scala.collection.Iterator$$anon$11.nextCur(Iterator.scala:484)
        at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:490)
        at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
        at 
org.apache.spark.util.CompletionIterator.hasNext(CompletionIterator.scala:31)
        at 
org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37)
        at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
   ```
   Because this is an `ArithmeticException`, the executor doesn't fallback. 
It's not a `FetchFailure` either, so the stage is not retried and the 
application fails. 
   
   ### Why are the changes needed?
   The executor should fallback to fetch original blocks and not fail because 
this suggests that there is an issue with push-merged block.
   
   ### Does this PR introduce _any_ user-facing change?
   No.
   
   ### How was this patch tested?
   It is a very trivial fix so I haven't added a UT.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to