Skip to content

Conversation

@mattf
Copy link

@mattf mattf commented Jun 27, 2014

It should not be the responsibility of the worker subprocess, which
does not intentionally fork, to try and cleanup child processes. Doing
so is complex and interferes with operations such as
platform.system().

If it is desirable to have tighter control over subprocesses, then
namespaces should be used and it should be the manager's resposibility
to handle cleanup.

It should not be the responsibility of the worker subprocess, which
does not intentionally fork, to try and cleanup child processes. Doing
so is complex and interferes with operations such as
platform.system().

If it is desirable to have tighter control over subprocesses, then
namespaces should be used and it should be the manager's resposibility
to handle cleanup.
@AmplabJenkins
Copy link

Can one of the admins verify this patch?

@aarondav
Copy link
Contributor

Jekins, test this please.

@AmplabJenkins
Copy link

Merged build triggered.

@AmplabJenkins
Copy link

Merged build started.

@aarondav
Copy link
Contributor

Just to make sure I understand the problem, is the issue that the spawned python worker process inherits the SIGCHLD handler of its parent process, which it has no need for? And that libraries which spawn subprocesses can invoke this SIGCHLD handler unexpectedly?

@mattf
Copy link
Author

mattf commented Jun 27, 2014

that's more or less it, except a level lower.

the spawned python worker processes spawn workers of their own (one per connect) and those inherit the worker's SIGCHLD handler, which they have no need for.

@AmplabJenkins
Copy link

Merged build finished. All automated tests passed.

@AmplabJenkins
Copy link

All automated tests passed.
Refer to this link for build results: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/16220/

@aarondav
Copy link
Contributor

Gotcha. This sounds like a straightforward fix for a behavior that was totally unintended and unwanted. Merging into master and branch-1.0.

@asfgit asfgit closed this in 3c104c7 Jun 29, 2014
asfgit pushed a commit that referenced this pull request Jun 29, 2014
It should not be the responsibility of the worker subprocess, which
does not intentionally fork, to try and cleanup child processes. Doing
so is complex and interferes with operations such as
platform.system().

If it is desirable to have tighter control over subprocesses, then
namespaces should be used and it should be the manager's resposibility
to handle cleanup.

Author: Matthew Farrellee <[email protected]>

Closes #1247 from mattf/SPARK-1394 and squashes the following commits:

c36f308 [Matthew Farrellee] [SPARK-1394] Remove SIGCHLD handler in worker subprocess

(cherry picked from commit 3c104c7)
Signed-off-by: Aaron Davidson <[email protected]>
xiliu82 pushed a commit to xiliu82/spark that referenced this pull request Sep 4, 2014
It should not be the responsibility of the worker subprocess, which
does not intentionally fork, to try and cleanup child processes. Doing
so is complex and interferes with operations such as
platform.system().

If it is desirable to have tighter control over subprocesses, then
namespaces should be used and it should be the manager's resposibility
to handle cleanup.

Author: Matthew Farrellee <[email protected]>

Closes apache#1247 from mattf/SPARK-1394 and squashes the following commits:

c36f308 [Matthew Farrellee] [SPARK-1394] Remove SIGCHLD handler in worker subprocess
@mattf mattf deleted the SPARK-1394 branch September 6, 2014 19:00
mapr-devops pushed a commit to mapr/spark that referenced this pull request May 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants