Repository: spark
Updated Branches:
refs/heads/branch-1.2 9677b4435 -> e1e7fc017
[SPARK-6952] Handle long args when detecting PID reuse
sbin/spark-daemon.sh used
ps -p "$TARGET_PID" -o args=
to figure out whether the process running with the expected PID is actually a
Spark
daemon. When running with a large classpath, the output of ps gets
truncated and the check fails spuriously.
This weakens the check to see if it's a java command (which is something
we do in other parts of the script) rather than looking for the specific
main class name. This means that SPARK-4832 might happen under a
slightly broader range of circumstances (a java program happened to
reuse the same PID), but it seems worthwhile compared to failing
consistently with a large classpath.
Author: Punya Biswal <[email protected]>
Closes #5535 from punya/feature/SPARK-6952 and squashes the following commits:
7ea12d1 [Punya Biswal] Handle long args when detecting PID reuse
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/e1e7fc01
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/e1e7fc01
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/e1e7fc01
Branch: refs/heads/branch-1.2
Commit: e1e7fc0179824f6c425a6297e7d70513d0f8f554
Parents: 9677b44
Author: Punya Biswal <[email protected]>
Authored: Fri Apr 17 11:08:37 2015 +0100
Committer: Sean Owen <[email protected]>
Committed: Fri Apr 17 13:40:22 2015 +0100
----------------------------------------------------------------------
sbin/spark-daemon.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/e1e7fc01/sbin/spark-daemon.sh
----------------------------------------------------------------------
diff --git a/sbin/spark-daemon.sh b/sbin/spark-daemon.sh
index 5e812a1..3022d16 100755
--- a/sbin/spark-daemon.sh
+++ b/sbin/spark-daemon.sh
@@ -130,7 +130,7 @@ case $option in
if [ -f $pid ]; then
TARGET_ID="$(cat "$pid")"
- if [[ $(ps -p "$TARGET_ID" -o args=) =~ $command ]]; then
+ if [[ $(ps -p "$TARGET_ID" -o comm=) =~ "java" ]]; then
echo "$command running as process $TARGET_ID. Stop it first."
exit 1
fi
@@ -155,7 +155,7 @@ case $option in
echo $newpid > $pid
sleep 2
# Check if the process has died; in that case we'll tail the log so the
user can see
- if [[ ! $(ps -p "$newpid" -o args=) =~ $command ]]; then
+ if [[ $(ps -p "$newpid" -o comm=) =~ "java" ]]; then
echo "failed to launch $command:"
tail -2 "$log" | sed 's/^/ /'
echo "full log in $log"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]