From f0c5973de180487ea0f39f7423cae61b3bdf3eb2 Mon Sep 17 00:00:00 2001
From: Bartek Wrona <wrona@syncad.com>
Date: Wed, 5 Aug 2020 15:58:38 +0200
Subject: [PATCH] Improved kill of previous instance of hive sync or hive
 server.

---
 .gitlab-ci.yaml            | 2 +-
 scripts/ci_start_server.sh | 6 ++++++
 scripts/ci_stop_server.sh  | 4 +++-
 scripts/ci_sync.sh         | 7 +++++++
 4 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yaml b/.gitlab-ci.yaml
index b5d921350..57d612a69 100644
--- a/.gitlab-ci.yaml
+++ b/.gitlab-ci.yaml
@@ -72,7 +72,7 @@ hivemind_sync:
 
   script:
     - pip3 install --user --upgrade pip setuptools
-    - scripts/ci_sync.sh "$HIVEMIND_DB_NAME" "$HIVEMIND_POSTGRESQL_CONNECTION_STRING" "$HIVEMIND_SOURCE_HIVED_URL" $HIVEMIND_MAX_BLOCK
+    - scripts/ci_sync.sh "$HIVEMIND_DB_NAME" "$HIVEMIND_POSTGRESQL_CONNECTION_STRING" "$HIVEMIND_SOURCE_HIVED_URL" $HIVEMIND_MAX_BLOCK $HIVEMIND_HTTP_PORT
 
   artifacts:
     paths:
diff --git a/scripts/ci_start_server.sh b/scripts/ci_start_server.sh
index fc7f60aa7..d936772ae 100755
--- a/scripts/ci_start_server.sh
+++ b/scripts/ci_start_server.sh
@@ -29,6 +29,12 @@ if [ -f hive_server.pid ]; then
   rm hive_server.pid;
 fi
 
+fuser $HIVEMIND_HTTP_PORT/tcp -k -INT || true
+sleep 5
+
+fuser $HIVEMIND_HTTP_PORT/tcp -k -KILL || true
+sleep 5
+
 ls -l dist/*
 rm -rf ./local-site
 mkdir -p `python3 -m site --user-site`
diff --git a/scripts/ci_stop_server.sh b/scripts/ci_stop_server.sh
index 515d61b84..c6958d4d2 100755
--- a/scripts/ci_stop_server.sh
+++ b/scripts/ci_stop_server.sh
@@ -6,7 +6,9 @@ set -e
 
 if [ -f $1 ]; then
   PID=`cat $1`;
-  kill -SIGINT $PID;
+  kill -SIGINT $PID || true;
+  sleep 5
+  kill -9 $PID || true;
 else
   echo Specified pid file: $1 does not exists.;
 fi
diff --git a/scripts/ci_sync.sh b/scripts/ci_sync.sh
index 766c3ab63..5c2dd84b0 100755
--- a/scripts/ci_sync.sh
+++ b/scripts/ci_sync.sh
@@ -7,6 +7,7 @@ HIVEMIND_DB_NAME=$1
 HIVEMIND_POSTGRESQL_CONNECTION_STRING=$2
 HIVEMIND_SOURCE_HIVED_URL=$3
 HIVEMIND_MAX_BLOCK=$4
+HIVEMIND_HTTP_PORT=$5
 
 PYTHONUSERBASE=./local-site
 
@@ -33,6 +34,12 @@ kill -SIGINT `pgrep -f "$HIVE_NAME server"` || true;
 sleep 5
 kill -9 `pgrep -f "$HIVE_NAME server"` || true;
 
+fuser $HIVEMIND_HTTP_PORT/tcp -k -INT || true
+sleep 5
+
+fuser $HIVEMIND_HTTP_PORT/tcp -k -KILL || true
+sleep 5
+
 ls -l dist/*
 rm -rf ./local-site
 mkdir -p `python3 -m site --user-site`
-- 
GitLab