yangwwei commented on pull request #34672:
URL: https://github.com/apache/spark/pull/34672#issuecomment-976225163


   Thank you @HyukjinKwon , @attilapiros , @tgravescs 
   
   >What about extending ShuffleManager trait with a new method indicating 
whether this shuffle manager implementation works with the external shuffle 
manager or not. It can have a default implementation giving back true and only 
needed to be overridden when the external shuffle manager is not supported.
   
   I really like this idea, thank you @attilapiros. How about adding a new 
method:  `supportExternalShuffleService()`. This method gives each shuffle 
manager implementation a way to tell if the external shuffle service is needed 
for this shuffle manager to work. Default it returns true, and then the block 
manager will register with the external shuffle server; otherwise, that 
registration can be skipped.
   
   >So my first reaction is: you have a 3rd party shuffle manager that is an 
external shuffle service because it supports dynamic allocation, then why is it 
failing... is it because you didn't override something, or because you couldn't 
override something? In this case it's creating a ExternalBlockStoreClient, 
which I think isn't setup to be overridden. I think it comes down to we just 
haven't really added support to allow this.
   
   We actually found this issue while using [Uber's Remote Shuffle 
Service](https://github.com/uber/RemoteShuffleService) with DA enabled. This is 
due to [this part of 
code](https://github.com/apache/spark/blob/5d3a6573a56f9c00ccc513c8131c037de7d29000/core/src/main/scala/org/apache/spark/storage/BlockManager.scala#L532-L534)
 being hardcoded to register with the external shuffle service even a 3rd party 
shuffle service is used. We will need a more general way to handle this. Please 
let me know your thoughts, thanks!


-- 
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: reviews-unsubscr...@spark.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to