diff --git a/.jenkins/modules/Regression/PythonRegression.groovy b/.jenkins/modules/Regression/PythonRegression.groovy
index f726d92da14945da8b90bbf5ceb8e546860b4ad2..46cf49d53c2b27a34e226a7c9b97dfdbf3703ad5 100644
--- a/.jenkins/modules/Regression/PythonRegression.groovy
+++ b/.jenkins/modules/Regression/PythonRegression.groovy
@@ -31,12 +31,14 @@ try {
 } catch(exc) {
     throw exc
 } finally {
-    sh 'docker-compose -p ${DOCKER_COMPOSE_PROJECT_NAME} rm -f -s -v pulsar'
-    sh 'docker-compose -p ${DOCKER_COMPOSE_PROJECT_NAME} rm -f -s -v etcd'
-    sh 'docker-compose -p ${DOCKER_COMPOSE_PROJECT_NAME} rm -f -s -v minio'
     dir ('build/docker/deploy') {
+        sh 'docker-compose -p ${DOCKER_COMPOSE_PROJECT_NAME} ps | tail -n +3 | awk \'{ print $1 }\' | ( while read arg; do docker logs -t $arg >& $arg.log; done )'
+        archiveArtifacts artifacts: "**.log", allowEmptyArchive: true
         sh 'docker-compose -p ${DOCKER_COMPOSE_PROJECT_NAME} down --rmi all -v || true'
     }
+    sh 'docker-compose -p ${DOCKER_COMPOSE_PROJECT_NAME} rm -f -s -v pulsar'
+    sh 'docker-compose -p ${DOCKER_COMPOSE_PROJECT_NAME} rm -f -s -v etcd'
+    sh 'docker-compose -p ${DOCKER_COMPOSE_PROJECT_NAME} rm -f -s -v minio'
     dir ('build/docker/test') {
         sh 'docker-compose -p ${DOCKER_COMPOSE_PROJECT_NAME} run --rm regression /bin/bash -c "rm -rf __pycache__ && rm -rf .pytest_cache"'
         sh 'docker-compose -p ${DOCKER_COMPOSE_PROJECT_NAME} down --rmi all -v || true'
diff --git a/scripts/run_go_unittest.sh b/scripts/run_go_unittest.sh
index dc7f59d341b5c0ad2e2a5882e8eabcce1efbfe89..b48b9f6717d353b2f7de2f31af7381a571122d39 100755
--- a/scripts/run_go_unittest.sh
+++ b/scripts/run_go_unittest.sh
@@ -8,14 +8,15 @@ while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symli
   SOURCE="$(readlink "$SOURCE")"
   [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
 done
-SCRIPTS_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+ROOT_DIR="$( cd -P "$( dirname "$SOURCE" )/.." && pwd )"
 
 # ignore Minio,S3 unittes
-MILVUS_DIR="${SCRIPTS_DIR}/../internal/"
+MILVUS_DIR="${ROOT_DIR}/internal/"
 echo $MILVUS_DIR
-go test -cover "${MILVUS_DIR}/kv/..." -failfast
-go test -cover "${MILVUS_DIR}/proxy/..." -failfast
-go test -cover "${MILVUS_DIR}/writenode/..." -failfast
-go test -cover "${MILVUS_DIR}/master/..." -failfast
+
+go test -race -cover "${MILVUS_DIR}/kv/..." -failfast
+go test -race -cover "${MILVUS_DIR}/proxy/..." -failfast
+go test -race -cover "${MILVUS_DIR}/writenode/..." -failfast
+go test -race -cover "${MILVUS_DIR}/master/..." -failfast
 go test -cover "${MILVUS_DIR}/msgstream/..." "${MILVUS_DIR}/querynode/..." "${MILVUS_DIR}/storage"   "${MILVUS_DIR}/util/..." -failfast
-#go test -cover "${MILVUS_DIR}/kv/..." "${MILVUS_DIR}/msgstream/..." "${MILVUS_DIR}/master/..." "${MILVUS_DIR}/querynode/..." -failfast
+#go test -race -cover "${MILVUS_DIR}/kv/..." "${MILVUS_DIR}/msgstream/..." "${MILVUS_DIR}/master/..." "${MILVUS_DIR}/querynode/..." -failfast