Github user tejasapatil commented on the issue:

    https://github.com/apache/spark/pull/18209
  
    Given that at Facebook we use our own in-house scheduler, I see why people 
would want to see their scheduler impls added right in Spark codebase as a 
first class citizen. Like @srowen said, this should not be part of Spark 
codebase. There would be many schedulers that would be developed in future and 
if we keep adding those to Spark, it will be lot of maintenance burden. Mesos 
and YARN have their place in the codebase given that they were there in early 
days of the project and are widely used in deployments (not saying that this is 
good or bad). This PR is making things worse for future by taking the easier 
route of adding yet another `if ..else` or `switch case` for a new scheduler 
impl. One can blame that this should have been cleanly right in the start for 
mesos / YARN but to give benefit of doubt to original authors, they didn't 
expect new schedulers to come up in future.
    
    I would recommend to add interfaces in Spark code to abstract out things so 
that plugging in new schedulers would be as simple as adding a jar to the 
classpath. As a matter of fact, we are currently able to use Spark with our own 
scheduler by extending the existing interfaces. The only patching we have to do 
is 3-4 lines which is not super pain during upgrades. Seems like you need more 
than the current interfaces.
    
    Having said this, I do appreciate the efforts put in this PR.



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

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

Reply via email to