#!/bin/bash

SCRIPT_DIR=$(cd "`dirname $(readlink -nf "$0")`"; pwd -P)
. "${SCRIPT_DIR}/RevoTracing"

trace "$*"
# script parameters
user="$1"
rSessionPid="$2"
value="$3"

SHELL_PREFIX="scaleR-spark-won2r0FHOA"


# build shell list prefix
SHELL_LIST_PREFIX="NA"
if [ "${value}" == "user" ]; then
    SHELL_LIST_PREFIX="${SHELL_PREFIX}-${user}"
fi
if [ "${value}" == "session" ]; then
    SHELL_LIST_PREFIX="${SHELL_PREFIX}-${user}-${rSessionPid}"
fi

trace "list-prefix=${SHELL_LIST_PREFIX}"
if [ "${SHELL_LIST_PREFIX}" == "NA" ]; then
    exit 0
fi

SHELL_STARTER_LIST_PREFIX=start-spark-shell.${SHELL_LIST_PREFIX}
SHELL_STARTER_PID_TO_LIST=$(pgrep -f "${SHELL_STARTER_LIST_PREFIX}")

if [ -z "${SHELL_STARTER_PID_TO_LIST}" ]; then
    exit 0
fi

# list spark app and remove fifo
for shellstarterpid in ${SHELL_STARTER_PID_TO_LIST}; do
    shellstartercmd=$(ps --no-heading fwwp ${shellstarterpid})
	sparkJobId=$(expr match "${shellstartercmd}" '.*start-spark-shell\.\(scaleR-spark-won2r0FHOA\S*\)\.')
	if [ ! -z "sparkJobId" ]; then
	   echo "SparkApp:${sparkJobId}EndSparkApp"
	fi
done