zhouyejoe commented on a change in pull request #33078:
URL: https://github.com/apache/spark/pull/33078#discussion_r670994961
##########
File path:
common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/RemoteBlockPushResolver.java
##########
@@ -778,11 +773,6 @@ public void onComplete(String streamId) throws IOException
{
// IOException to the client. This may increase the chunk size
however the increase is
// still limited because of the limit on the number of
IOExceptions for a
// particular shuffle partition.
- } catch (NullPointerException e) {
- throw new RuntimeException(
- String.format("The merged shuffle partition info for appId %s
shuffleId %s "
- + "reduceId %s has been cleaned up", partitionInfo.appId,
- partitionInfo.shuffleId, partitionInfo.reduceId));
Review comment:
Double checked on the implementation for the `closeAllFiles` in
`AppShufflePartitionInfo`. The major reason of the NPE is the `closeAllFiles`
set variables to null. But I don't think we even need to set `dataChannel`,
`indexFile` and `metaFile` to null, close() should be sufficient. And the
exception from Thread 1, if thread 2 is closing the channels, would be
`ClosedChannelException` or just 'IOException'. Similarly, if we make `channel`
and `dos` `final` in `MergeShuffleFile`, there is no need to set these two
variables to null either. @mridulm @otterc @Ngone51 Thoughts?
--
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]