Repository: kudu
Updated Branches:
  refs/heads/master 25a66cd27 -> 56aec48db


subprocess: use SIGKILL instead of SIGTERM death signal

This addresses a potential source of test timeouts if a test starts a
minicluster, pauses one of the daemons with SIGSTOP, and then exits
unexpectedly (eg due to a CHECK failure). With the SIGTERM death signal,
I found that this resulted in the test hanging on exit: apparently it
delivered the SIGTERM to the stopped child and was then waiting on it
indefinitely.

After changing to SIGKILL I see the broken test failing from the FATAL
as expected (rather than timing out).

Change-Id: Icc411b8c031c1c117bdf0d82f272da2263c97d88
Reviewed-on: http://gerrit.cloudera.org:8080/4139
Reviewed-by: Adar Dembo <[email protected]>
Tested-by: Kudu Jenkins


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/62fd2546
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/62fd2546
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/62fd2546

Branch: refs/heads/master
Commit: 62fd25466712129dc83a06877658c1a98379223f
Parents: 25a66cd
Author: Todd Lipcon <[email protected]>
Authored: Fri Aug 26 16:41:57 2016 -0700
Committer: Todd Lipcon <[email protected]>
Committed: Sat Aug 27 02:25:07 2016 +0000

----------------------------------------------------------------------
 src/kudu/util/subprocess.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/62fd2546/src/kudu/util/subprocess.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/subprocess.cc b/src/kudu/util/subprocess.cc
index 01425a2..b270dcf 100644
--- a/src/kudu/util/subprocess.cc
+++ b/src/kudu/util/subprocess.cc
@@ -361,7 +361,7 @@ Status Subprocess::Start() {
 #if defined(__linux__)
     // TODO: prctl(PR_SET_PDEATHSIG) is Linux-specific, look into portable ways
     // to prevent orphans when parent is killed.
-    prctl(PR_SET_PDEATHSIG, SIGTERM);
+    prctl(PR_SET_PDEATHSIG, SIGKILL);
 #endif
 
     // stdin

Reply via email to