-
Notifications
You must be signed in to change notification settings - Fork 28k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SPARK-18742][CORE]Clarify that user-defined BroadcastFactory is not supported #16173
Conversation
…er-defined BroadcastFactory
Test build #69732 has finished for PR 16173 at commit
|
Test build #69733 has finished for PR 16173 at commit
|
Test build #69734 has finished for PR 16173 at commit
|
You certainly have a point there, but I also don't know that there's actually an intent to do the work to truly support and maintain an SPI for broadcasts. |
since the trait BroadcastFactory is design for multiple implements, is't reasonable to provide a way to change the implement of BroadcastFactory? or only TorrentBroadcastFactory is enough |
It existed to support several internal implementations, of which there is only one now. I don't know that it was ever intended for external implementations. |
ok, the BroadcastFactory' comment shows |
Hm, that's a good point. I don't recall ever hearing much about someone actually plugging in an implementation. It's a modest change you're proposing and not unreasonable, I just don't know how much this API is actually robust right now, or whether it really should be. |
when HttpBroadCastFactory & TorrentBroadcastFactory both exists, it is use spark.broadcast.factory to change the implement. it is better to modify the comment of BroadcastFactory than readd the spark.broadcast.factory back? |
Yeah those were Spark classes. This property doesn't seem to be used now. |
ok,someone else can tell if it is resonable to readd the conf now? |
cc @rxin could you help to give some advise? thanks! |
Is there actually an implementation you want to do? I'd push back against opening this up unless we have a good reason to (e.g. more scalable broadcast). |
if the trait BroadcastFactory is designed for user not for internal, it is better to add this conf eventhough there is no a more scalable broadcast. Or we can modify the comment https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/broadcast/BroadcastFactory.scala#L25-L30 |
I wouldn't open it up just to open it up. If there were a pretty good use case for external implementations then sure. Otherwise, at best, change the comment, yeah. |
ok,just modify the comment, thanks! |
Test build #70168 has finished for PR 16173 at commit
|
Test build #3499 has finished for PR 16173 at commit
|
retest this please |
Test build #70227 has finished for PR 16173 at commit
|
@windpiger you need to update the title/description of this and the JIRA too. |
ok,thanks |
… supported ## What changes were proposed in this pull request? After SPARK-12588 Remove HTTPBroadcast [1], the one and only implementation of BroadcastFactory is TorrentBroadcastFactory and the spark.broadcast.factory conf has removed. however the scaladoc says [2]: /** * An interface for all the broadcast implementations in Spark (to allow * multiple broadcast implementations). SparkContext uses a user-specified * BroadcastFactory implementation to instantiate a particular broadcast for the * entire Spark job. */ so we should modify the comment that SparkContext will not use a user-specified BroadcastFactory implementation [1] https://issues.apache.org/jira/browse/SPARK-12588 [2] https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/broadcast/BroadcastFactory.scala#L25-L30 ## How was this patch tested? unit test added Author: root <root@iZbp1gsnrlfzjxh82cz80vZ.(none)> Author: windpiger <songjun@outlook.com> Closes apache#16173 from windpiger/addBroadFactoryConf.
What changes were proposed in this pull request?
After SPARK-12588 Remove HTTPBroadcast [1], the one and only implementation of BroadcastFactory is TorrentBroadcastFactory and the spark.broadcast.factory conf has removed.
however the scaladoc says [2]:
/**
*/
so we should modify the comment that SparkContext will not use a user-specified BroadcastFactory implementation
[1] https://issues.apache.org/jira/browse/SPARK-12588
[2] https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/broadcast/BroadcastFactory.scala#L25-L30
How was this patch tested?
unit test added