-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-11563] [core] [repl] Use RpcEnv to transfer REPL-generated classes. #9923
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
Conversation
…sses. This avoids bringing up yet another HTTP server on the driver, and instead reuses the file server already managed by the driver's RpcEnv. As a bonus, the repl now inherits the security features of the network library. A few small fixes were made to bugs uncovered by these changes: - NettyRpcEnv::openStream() now correctly propagates errors to the read side of the pipe. - NettyStreamManager now throws if the file being transferred does not exist - The network library now correctly handles zero-sized streams.
|
Test build #46566 has finished for PR 9923 at commit
|
|
retest this please |
|
Test build #46710 has finished for PR 9923 at commit
|
|
retest this please |
|
Test build #46731 has finished for PR 9923 at commit
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
super nit: RpcEnvFileServer is unused
|
looks reasonable to me, I tested out a repl with both netty & akka in local-cluster mode as well. Would appreciate another set of eyes on it. |
|
Test build #47155 has finished for PR 9923 at commit
|
|
Given the silence I guess people are ok with the patch, so I'll push this soon. Meanwhile, retest this please. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getClassFileInputStreamFromSpark -> getClassFileInputStreamFromSparkRPC
|
IIUC, http server is useless once we remove akka? Can you add a line of comment there as well? LGTM. |
There's the http-based broadcast server, which IIRC is not the default. Does anyone even use that these days? |
|
Test build #47354 has finished for PR 9923 at commit
|
|
Test build #47525 has finished for PR 9923 at commit
|
|
Merging to master. |
This avoids bringing up yet another HTTP server on the driver, and
instead reuses the file server already managed by the driver's
RpcEnv. As a bonus, the repl now inherits the security features of
the network library.
There's also a small change to create the directory for storing classes
under the root temp dir for the application (instead of directly
under java.io.tmpdir).