This is an automated email from the ASF dual-hosted git repository.
wangdan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus.git
The following commit(s) were added to refs/heads/master by this push:
new 8cad63e1d chore(github): free disk space for github workflows (#1577)
8cad63e1d is described below
commit 8cad63e1d153684327786134caf512818e58c850
Author: Dan Wang <[email protected]>
AuthorDate: Tue Aug 8 11:46:32 2023 +0800
chore(github): free disk space for github workflows (#1577)
https://github.com/apache/incubator-pegasus/issues/1576
Free more disk space for github workflows in the following ways:
- remove unnecessary packages and directories with reduced disk space up
to 11GB;
- support updating options such as `disk_min_available_space_ratio` by env
`TEST_OPTS` for some tests;
- reduce `disk_min_available_space_ratio` from 10 to 5 for some failed tests
due to `SPACE_INSUFFICIENT`.
---
.github/workflows/free_disk_space.sh | 70 +++++++++++++++++++++++
.github/workflows/lint_and_test_cpp.yaml | 67 ++++++++++++++++++++--
src/common/test/config-test.ini | 1 +
src/common/test/run.sh | 21 ++++++-
src/meta/test/config-test.ini | 1 +
src/meta/test/run.sh | 21 ++++++-
src/replica/backup/test/config-test.ini | 1 +
src/replica/backup/test/run.sh | 20 ++++++-
src/replica/bulk_load/test/config-test.ini | 3 +
src/replica/bulk_load/test/run.sh | 20 ++++++-
src/replica/duplication/test/config-test.ini | 3 +
src/replica/duplication/test/run.sh | 20 ++++++-
src/replica/split/test/config-test.ini | 3 +
src/replica/split/test/run.sh | 20 ++++++-
src/replica/storage/simple_kv/config.ini | 1 +
src/replica/storage/simple_kv/run.sh | 19 ++++++
src/replica/storage/simple_kv/test/case-000.ini | 1 +
src/replica/storage/simple_kv/test/case-001.ini | 1 +
src/replica/storage/simple_kv/test/case-002.ini | 1 +
src/replica/storage/simple_kv/test/case-003.ini | 1 +
src/replica/storage/simple_kv/test/case-004.ini | 1 +
src/replica/storage/simple_kv/test/case-005.ini | 1 +
src/replica/storage/simple_kv/test/case-006.ini | 1 +
src/replica/storage/simple_kv/test/case-100.ini | 1 +
src/replica/storage/simple_kv/test/case-101.ini | 1 +
src/replica/storage/simple_kv/test/case-102.ini | 1 +
src/replica/storage/simple_kv/test/case-103.ini | 1 +
src/replica/storage/simple_kv/test/case-104.ini | 1 +
src/replica/storage/simple_kv/test/case-105.ini | 1 +
src/replica/storage/simple_kv/test/case-106.ini | 1 +
src/replica/storage/simple_kv/test/case-107.ini | 1 +
src/replica/storage/simple_kv/test/case-108.ini | 1 +
src/replica/storage/simple_kv/test/case-109.ini | 1 +
src/replica/storage/simple_kv/test/case-200.ini | 1 +
src/replica/storage/simple_kv/test/case-201.ini | 1 +
src/replica/storage/simple_kv/test/case-202-0.ini | 1 +
src/replica/storage/simple_kv/test/case-202-1.ini | 1 +
src/replica/storage/simple_kv/test/case-203-0.ini | 1 +
src/replica/storage/simple_kv/test/case-204.ini | 1 +
src/replica/storage/simple_kv/test/case-205.ini | 1 +
src/replica/storage/simple_kv/test/case-206.ini | 1 +
src/replica/storage/simple_kv/test/case-207.ini | 1 +
src/replica/storage/simple_kv/test/case-208.ini | 1 +
src/replica/storage/simple_kv/test/case-209.ini | 1 +
src/replica/storage/simple_kv/test/case-210.ini | 1 +
src/replica/storage/simple_kv/test/case-211.ini | 1 +
src/replica/storage/simple_kv/test/case-212.ini | 1 +
src/replica/storage/simple_kv/test/case-213.ini | 1 +
src/replica/storage/simple_kv/test/case-214.ini | 1 +
src/replica/storage/simple_kv/test/case-215.ini | 1 +
src/replica/storage/simple_kv/test/case-216.ini | 1 +
src/replica/storage/simple_kv/test/case-300-0.ini | 1 +
src/replica/storage/simple_kv/test/case-300-1.ini | 1 +
src/replica/storage/simple_kv/test/case-300-2.ini | 1 +
src/replica/storage/simple_kv/test/case-301.ini | 1 +
src/replica/storage/simple_kv/test/case-302.ini | 1 +
src/replica/storage/simple_kv/test/case-303.ini | 1 +
src/replica/storage/simple_kv/test/case-304.ini | 1 +
src/replica/storage/simple_kv/test/case-305.ini | 1 +
src/replica/storage/simple_kv/test/case-306.ini | 1 +
src/replica/storage/simple_kv/test/case-307.ini | 1 +
src/replica/storage/simple_kv/test/case-400.ini | 1 +
src/replica/storage/simple_kv/test/case-401.ini | 1 +
src/replica/storage/simple_kv/test/case-402.ini | 1 +
src/replica/storage/simple_kv/test/case-600.ini | 1 +
src/replica/storage/simple_kv/test/case-601.ini | 1 +
src/replica/storage/simple_kv/test/case-602.ini | 1 +
src/replica/storage/simple_kv/test/case-603.ini | 1 +
src/replica/storage/simple_kv/test/config.ini | 1 +
src/replica/storage/simple_kv/test/run.sh | 20 +++++++
src/replica/test/config-test.ini | 3 +
src/replica/test/run.sh | 21 ++++++-
src/server/test/config.ini | 1 +
src/server/test/run.sh | 21 ++++++-
src/test/function_test/run.sh | 2 +-
src/utils/filesystem.cpp | 2 +-
src/utils/simple_logger.cpp | 1 +
77 files changed, 399 insertions(+), 16 deletions(-)
diff --git a/.github/workflows/free_disk_space.sh
b/.github/workflows/free_disk_space.sh
new file mode 100755
index 000000000..87f0cdef8
--- /dev/null
+++ b/.github/workflows/free_disk_space.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+echo
"=============================================================================="
+echo "Freeing up disk space on Github workflows"
+echo
"=============================================================================="
+
+echo "Before freeing, the space of each disk:"
+df -h
+
+echo "Listing 100 largest packages ..."
+dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 100
+
+echo "Removing large packages ..."
+apt-get -s autoremove
+apt-get remove -y openjdk-11-jre-headless
+
+echo "After removing large packages, the space of each disk:"
+df -h
+
+echo "Listing directories ..."
+mount
+ls -lrt /
+du -csh /*
+du -csh /__e/*/*
+du -csh /__t/*/*
+du -csh /__w/*/*
+ls -lrt /github
+du -csh /github/*
+du -csh /opt/*
+du -csh /usr/local/*
+du -csh /usr/local/lib/*
+du -csh /usr/local/share/*
+du -csh /usr/share/*
+echo "AGENT_TOOLSDIRECTORY is $AGENT_TOOLSDIRECTORY"
+
+echo "Removing large directories ..."
+rm -rf /__t/CodeQL
+rm -rf /__t/PyPy
+rm -rf /__t/Python
+rm -rf /__t/Ruby
+rm -rf /__t/go
+rm -rf /__t/node
+rm -rf /opt/ghc
+rm -rf /usr/local/.ghcup
+rm -rf /usr/local/graalvm
+rm -rf /usr/local/lib/android
+rm -rf /usr/local/lib/node_modules
+rm -rf /usr/local/share/boost
+rm -rf /usr/local/share/chromium
+rm -rf /usr/local/share/powershell
+rm -rf /usr/share/dotnet
+
+echo "After freeing, the space of each disk:"
+df -h
diff --git a/.github/workflows/lint_and_test_cpp.yaml
b/.github/workflows/lint_and_test_cpp.yaml
index 5c320eda5..38d8cc53f 100644
--- a/.github/workflows/lint_and_test_cpp.yaml
+++ b/.github/workflows/lint_and_test_cpp.yaml
@@ -49,8 +49,8 @@ on:
env:
# Update the options to reduce the consumption of the disk space
ONEBOX_OPTS: disk_min_available_space_ratio=5
- TEST_OPTS: throttle_test_medium_value_kb=10,throttle_test_large_value_kb=25
-
+ TEST_OPTS:
disk_min_available_space_ratio=5,throttle_test_medium_value_kb=10,throttle_test_large_value_kb=25
+
jobs:
cpp_clang_format_linter:
name: Lint
@@ -70,6 +70,9 @@ jobs:
image: apache/pegasus:thirdparties-bin-ubuntu2204-${{ github.base_ref }}
steps:
- uses: actions/checkout@v3
+ - name: Free Disk Space (Ubuntu)
+ run: |
+ .github/workflows/free_disk_space.sh
- uses: dorny/paths-filter@v2
id: changes
with:
@@ -120,6 +123,9 @@ jobs:
path: |
/github/home/.ccache
key: release_ccache
+ - name: Free Disk Space (Ubuntu)
+ run: |
+ .github/workflows/free_disk_space.sh
- uses: dorny/paths-filter@v2
id: changes
with:
@@ -132,25 +138,36 @@ jobs:
- name: Unpack prebuilt third-parties
if: steps.changes.outputs.thirdparty == 'false'
run: |
+ rm -f /root/thirdparties-src.zip
unzip /root/thirdparties-bin.zip -d ./thirdparty
rm -f /root/thirdparties-bin.zip
+ find ./thirdparty -name '*CMakeFiles*' -type d -exec rm -rf "{}" +
+ rm -rf ./thirdparty/hadoop-bin/share/doc
+ rm -rf ./thirdparty/zookeeper-bin/docs
- name: Rebuild third-parties
if: steps.changes.outputs.thirdparty == 'true'
working-directory: thirdparty
# Build thirdparties and leave some necessary libraries and source
run: |
+ rm -f /root/thirdparties-src.zip
mkdir build
cmake -DCMAKE_BUILD_TYPE=Release -DROCKSDB_PORTABLE=ON -B build/
cmake --build build/ -j $(nproc)
rm -rf build/Build build/Download/[a-y]* build/Source/[a-g]*
build/Source/[i-q]* build/Source/[s-z]*
+ find ./ -name '*CMakeFiles*' -type d -exec rm -rf "{}" +
../scripts/download_hadoop.sh hadoop-bin
../scripts/download_zk.sh zookeeper-bin
+ rm -rf hadoop-bin/share/doc
+ rm -rf zookeeper-bin/docs
- name: Compilation
run: |
ccache -p
ccache -z
./run.sh build --test --skip_thirdparty -j $(nproc) -t release
ccache -s
+ - name: Clear Build Files
+ run: |
+ find ./build/latest/src/ -name '*CMakeFiles*' -type d -exec rm -rf
"{}" +
- name: Pack Server
run: |
./run.sh pack_server
@@ -164,7 +181,6 @@ jobs:
mv thirdparty/hadoop-bin ./
mv thirdparty/zookeeper-bin ./
rm -rf thirdparty
- find ./build/latest/src/ -name '*CMakeFiles*' -type d -exec rm -rf
"{}" +
tar -zcvhf release__builder.tar build/latest/output build/latest/bin
build/latest/src/server/test/config.ini hadoop-bin zookeeper-bin
- name: Upload Artifact
uses: actions/upload-artifact@v3
@@ -252,6 +268,9 @@ jobs:
path: |
/github/home/.ccache
key: asan_ccache
+ - name: Free Disk Space (Ubuntu)
+ run: |
+ .github/workflows/free_disk_space.sh
- uses: dorny/paths-filter@v2
id: changes
with:
@@ -264,31 +283,41 @@ jobs:
- name: Unpack prebuilt third-parties
if: steps.changes.outputs.thirdparty == 'false'
run: |
+ rm -f /root/thirdparties-src.zip
unzip /root/thirdparties-bin.zip -d ./thirdparty
rm -f /root/thirdparties-bin.zip
+ find ./thirdparty -name '*CMakeFiles*' -type d -exec rm -rf "{}" +
+ rm -rf ./thirdparty/hadoop-bin/share/doc
+ rm -rf ./thirdparty/zookeeper-bin/docs
- name: Rebuild third-parties
if: steps.changes.outputs.thirdparty == 'true'
working-directory: thirdparty
# Build thirdparties and leave some necessary libraries and source
run: |
+ rm -f /root/thirdparties-src.zip
mkdir build
cmake -DCMAKE_BUILD_TYPE=Release -DROCKSDB_PORTABLE=ON -B build/
cmake --build build/ -j $(nproc)
rm -rf build/Build build/Download/[a-y]* build/Source/[a-g]*
build/Source/[i-q]* build/Source/[s-z]*
+ find ./ -name '*CMakeFiles*' -type d -exec rm -rf "{}" +
../scripts/download_hadoop.sh hadoop-bin
../scripts/download_zk.sh zookeeper-bin
+ rm -rf hadoop-bin/share/doc
+ rm -rf zookeeper-bin/docs
- name: Compilation
run: |
ccache -p
ccache -z
./run.sh build --test --sanitizer address --skip_thirdparty
--disable_gperf -j $(nproc)
ccache -s
+ - name: Clear Build Files
+ run: |
+ find ./build/latest/src/ -name '*CMakeFiles*' -type d -exec rm -rf
"{}" +
- name: Tar files
run: |
mv thirdparty/hadoop-bin ./
mv thirdparty/zookeeper-bin ./
rm -rf thirdparty
- find ./build/latest/src/ -name '*CMakeFiles*' -type d -exec rm -rf
"{}" +
tar -zcvhf release_address_builder.tar build/latest/output
build/latest/bin build/latest/src/server/test/config.ini hadoop-bin
zookeeper-bin
- name: Upload Artifact
uses: actions/upload-artifact@v3
@@ -393,31 +422,41 @@ jobs:
# - name: Unpack prebuilt third-parties
# if: steps.changes.outputs.thirdparty == 'false'
# run: |
+# rm -f /root/thirdparties-src.zip
# unzip /root/thirdparties-bin.zip -d ./thirdparty
# rm -f /root/thirdparties-bin.zip
+# find ./thirdparty -name '*CMakeFiles*' -type d -exec rm -rf "{}" +
+# rm -rf ./thirdparty/hadoop-bin/share/doc
+# rm -rf ./thirdparty/zookeeper-bin/docs
# - name: Rebuild third-parties
# if: steps.changes.outputs.thirdparty == 'true'
# working-directory: thirdparty
# # Build thirdparties and leave some necessary libraries and source
# run: |
+# rm -f /root/thirdparties-src.zip
# mkdir build
# cmake -DCMAKE_BUILD_TYPE=Release -DROCKSDB_PORTABLE=ON -B build/
# cmake --build build/ -j $(nproc)
# rm -rf build/Build build/Download/[a-y]* build/Source/[a-g]*
build/Source/[i-q]* build/Source/[s-z]*
+# find ./ -name '*CMakeFiles*' -type d -exec rm -rf "{}" +
# ../scripts/download_hadoop.sh hadoop-bin
# ../scripts/download_zk.sh zookeeper-bin
+# rm -rf hadoop-bin/share/doc
+# rm -rf zookeeper-bin/docs
# - name: Compilation
# run: |
# ccache -p
# ccache -z
# ./run.sh build --test --sanitizer undefined --skip_thirdparty
--disable_gperf -j $(nproc)
# ccache -s
+# - name: Clear Build Files
+# run: |
+# find ./build/latest/src/ -name '*CMakeFiles*' -type d -exec rm -rf
"{}" +
# - name: Tar files
# run: |
# mv thirdparty/hadoop-bin ./
# mv thirdparty/zookeeper-bin ./
# rm -rf thirdparty
-# find ./build/latest/src/ -name '*CMakeFiles*' -type d -exec rm -rf
"{}" +
# tar -zcvhf release_undefined_builder.tar build/latest/output
build/latest/bin build/latest/src/server/test/config.ini hadoop-bin
zookeeper-bin
# - name: Upload Artifact
# uses: actions/upload-artifact@v3
@@ -470,6 +509,9 @@ jobs:
# options: --cap-add=SYS_PTRACE
# steps:
# - uses: actions/checkout@v3
+# - name: Free Disk Space (Ubuntu)
+# run: |
+# .github/workflows/free_disk_space.sh
# - name: Unpack prebuilt third-parties
# run: |
# unzip /root/thirdparties-bin.zip -d ./thirdparty
@@ -503,6 +545,9 @@ jobs:
path: |
/github/home/.ccache
key: jemalloc_ccache
+ - name: Free Disk Space (Ubuntu)
+ run: |
+ .github/workflows/free_disk_space.sh
- uses: dorny/paths-filter@v2
id: changes
with:
@@ -515,25 +560,36 @@ jobs:
- name: Unpack prebuilt third-parties
if: steps.changes.outputs.thirdparty == 'false'
run: |
+ rm -f /root/thirdparties-src.zip
unzip /root/thirdparties-bin.zip -d ./thirdparty
rm -f /root/thirdparties-bin.zip
+ find ./thirdparty -name '*CMakeFiles*' -type d -exec rm -rf "{}" +
+ rm -rf ./thirdparty/hadoop-bin/share/doc
+ rm -rf ./thirdparty/zookeeper-bin/docs
- name: Rebuild third-parties
if: steps.changes.outputs.thirdparty == 'true'
working-directory: thirdparty
# Build thirdparties and leave some necessary libraries and source
run: |
+ rm -f /root/thirdparties-src.zip
mkdir build
cmake -DCMAKE_BUILD_TYPE=Release -DROCKSDB_PORTABLE=ON
-DUSE_JEMALLOC=ON -B build/
cmake --build build/ -j $(nproc)
rm -rf build/Build build/Download/[a-y]* build/Source/[a-g]*
build/Source/[i-q]* build/Source/[s-z]*
+ find ./ -name '*CMakeFiles*' -type d -exec rm -rf "{}" +
../scripts/download_hadoop.sh hadoop-bin
../scripts/download_zk.sh zookeeper-bin
+ rm -rf hadoop-bin/share/doc
+ rm -rf zookeeper-bin/docs
- name: Compilation
run: |
ccache -p
ccache -z
./run.sh build --test --skip_thirdparty -j $(nproc) -t release
--use_jemalloc
ccache -s
+ - name: Clear Build Files
+ run: |
+ find ./build/latest/src/ -name '*CMakeFiles*' -type d -exec rm -rf
"{}" +
- name: Pack Server
run: ./run.sh pack_server -j
- name: Pack Tools
@@ -543,7 +599,6 @@ jobs:
mv thirdparty/hadoop-bin ./
mv thirdparty/zookeeper-bin ./
rm -rf thirdparty
- find ./build/latest/src/ -name '*CMakeFiles*' -type d -exec rm -rf
"{}" +
tar -zcvhf release_jemalloc_builder.tar build/latest/output
build/latest/bin build/latest/src/server/test/config.ini hadoop-bin
zookeeper-bin
- name: Upload Artifact
uses: actions/upload-artifact@v3
diff --git a/src/common/test/config-test.ini b/src/common/test/config-test.ini
index 774ac82cd..2775e06bd 100644
--- a/src/common/test/config-test.ini
+++ b/src/common/test/config-test.ini
@@ -92,6 +92,7 @@ rpc_message_header_format = dsn
rpc_timeout_milliseconds = 5000
[replication]
+disk_min_available_space_ratio = 10
cluster_name = master-cluster
[duplication-group]
diff --git a/src/common/test/run.sh b/src/common/test/run.sh
index ce89cc4ea..affb98db8 100755
--- a/src/common/test/run.sh
+++ b/src/common/test/run.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# The MIT License (MIT)
#
# Copyright (c) 2015 Microsoft Corporation
@@ -31,6 +31,25 @@ exit_if_fail() {
fi
}
+if [ -n ${TEST_OPTS} ]; then
+ if [ ! -f ./config-test.ini ]; then
+ echo "./config-test.ini does not exists !"
+ exit 1
+ fi
+
+ OPTS=`echo ${TEST_OPTS} | xargs`
+ config_kvs=(${OPTS//,/ })
+ for config_kv in ${config_kvs[@]}; do
+ config_kv=`echo $config_kv | xargs`
+ kv=(${config_kv//=/ })
+ if [ ! ${#kv[*]} -eq 2 ]; then
+ echo "Invalid config kv !"
+ exit 1
+ fi
+ sed -i '/^\s*'"${kv[0]}"'/c '"${kv[0]}"' = '"${kv[1]}"
./config-test.ini
+ done
+fi
+
./dsn_replication_common_test
exit_if_fail $? "run unit test failed"
diff --git a/src/meta/test/config-test.ini b/src/meta/test/config-test.ini
index 26bf34f75..d0a865656 100644
--- a/src/meta/test/config-test.ini
+++ b/src/meta/test/config-test.ini
@@ -106,6 +106,7 @@ only_move_primary = false
cold_backup_disabled = false
[replication]
+disk_min_available_space_ratio = 10
cluster_name = master-cluster
duplication_enabled = true
diff --git a/src/meta/test/run.sh b/src/meta/test/run.sh
index ad104aa6b..207a9c7f8 100755
--- a/src/meta/test/run.sh
+++ b/src/meta/test/run.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# The MIT License (MIT)
#
# Copyright (c) 2015 Microsoft Corporation
@@ -28,6 +28,25 @@ if [ -z "${REPORT_DIR}" ]; then
REPORT_DIR="."
fi
+if [ -n ${TEST_OPTS} ]; then
+ if [ ! -f "./config-test.ini" ]; then
+ echo "./config-test.ini does not exists"
+ exit 1
+ fi
+
+ OPTS=`echo ${TEST_OPTS} | xargs`
+ config_kvs=(${OPTS//,/ })
+ for config_kv in ${config_kvs[@]}; do
+ config_kv=`echo $config_kv | xargs`
+ kv=(${config_kv//=/ })
+ if [ ! ${#kv[*]} -eq 2 ]; then
+ echo "Invalid config kv !"
+ exit 1
+ fi
+ sed -i '/^\s*'"${kv[0]}"'/c '"${kv[0]}"' = '"${kv[1]}"
./config-test.ini
+ done
+fi
+
./clear.sh
output_xml="${REPORT_DIR}/dsn.meta.test.1.xml"
GTEST_OUTPUT="xml:${output_xml}" ./dsn.meta.test
diff --git a/src/replica/backup/test/config-test.ini
b/src/replica/backup/test/config-test.ini
index b24a8ff14..ad6433590 100644
--- a/src/replica/backup/test/config-test.ini
+++ b/src/replica/backup/test/config-test.ini
@@ -51,6 +51,7 @@ partitioned = true
name = replica_long
[replication]
+disk_min_available_space_ratio = 10
cluster_name = master-cluster
[duplication-group]
diff --git a/src/replica/backup/test/run.sh b/src/replica/backup/test/run.sh
index 996196944..73aa02be9 100755
--- a/src/replica/backup/test/run.sh
+++ b/src/replica/backup/test/run.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# The MIT License (MIT)
#
# Copyright (c) 2015 Microsoft Corporation
@@ -23,6 +23,24 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
+if [ -n ${TEST_OPTS} ]; then
+ if [ ! -f "./config-test.ini" ]; then
+ echo "./config-test.ini does not exists"
+ exit 1
+ fi
+
+ OPTS=`echo ${TEST_OPTS} | xargs`
+ config_kvs=(${OPTS//,/ })
+ for config_kv in ${config_kvs[@]}; do
+ config_kv=`echo $config_kv | xargs`
+ kv=(${config_kv//=/ })
+ if [ ! ${#kv[*]} -eq 2 ]; then
+ echo "Invalid config kv !"
+ exit 1
+ fi
+ sed -i '/^\s*'"${kv[0]}"'/c '"${kv[0]}"' = '"${kv[1]}"
./config-test.ini
+ done
+fi
./dsn_replica_backup_test
diff --git a/src/replica/bulk_load/test/config-test.ini
b/src/replica/bulk_load/test/config-test.ini
index d9d8fd9da..7bdc530aa 100644
--- a/src/replica/bulk_load/test/config-test.ini
+++ b/src/replica/bulk_load/test/config-test.ini
@@ -91,6 +91,9 @@ rpc_call_channel = RPC_CHANNEL_TCP
rpc_message_header_format = dsn
rpc_timeout_milliseconds = 5000
+[replication]
+disk_min_available_space_ratio = 10
+
[block_service.local_service]
type = local_service
args =
diff --git a/src/replica/bulk_load/test/run.sh
b/src/replica/bulk_load/test/run.sh
index 91ba50645..7b060300d 100755
--- a/src/replica/bulk_load/test/run.sh
+++ b/src/replica/bulk_load/test/run.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# The MIT License (MIT)
#
# Copyright (c) 2015 Microsoft Corporation
@@ -23,6 +23,24 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
+if [ -n ${TEST_OPTS} ]; then
+ if [ ! -f "./config-test.ini" ]; then
+ echo "./config-test.ini does not exists"
+ exit 1
+ fi
+
+ OPTS=`echo ${TEST_OPTS} | xargs`
+ config_kvs=(${OPTS//,/ })
+ for config_kv in ${config_kvs[@]}; do
+ config_kv=`echo $config_kv | xargs`
+ kv=(${config_kv//=/ })
+ if [ ! ${#kv[*]} -eq 2 ]; then
+ echo "Invalid config kv !"
+ exit 1
+ fi
+ sed -i '/^\s*'"${kv[0]}"'/c '"${kv[0]}"' = '"${kv[1]}"
./config-test.ini
+ done
+fi
./dsn_replica_bulk_load_test
diff --git a/src/replica/duplication/test/config-test.ini
b/src/replica/duplication/test/config-test.ini
index 5eb6b1634..a06a16552 100644
--- a/src/replica/duplication/test/config-test.ini
+++ b/src/replica/duplication/test/config-test.ini
@@ -50,6 +50,9 @@ partitioned = true
[threadpool.THREAD_POOL_REPLICATION_LONG]
name = replica_long
+[replication]
+disk_min_available_space_ratio = 10
+
[duplication-group]
master-cluster = 1
slave-cluster = 2
diff --git a/src/replica/duplication/test/run.sh
b/src/replica/duplication/test/run.sh
index c72b65788..cf9d4b11e 100755
--- a/src/replica/duplication/test/run.sh
+++ b/src/replica/duplication/test/run.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# The MIT License (MIT)
#
# Copyright (c) 2015 Microsoft Corporation
@@ -23,6 +23,24 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
+if [ -n ${TEST_OPTS} ]; then
+ if [ ! -f "./config-test.ini" ]; then
+ echo "./config-test.ini does not exists"
+ exit 1
+ fi
+
+ OPTS=`echo ${TEST_OPTS} | xargs`
+ config_kvs=(${OPTS//,/ })
+ for config_kv in ${config_kvs[@]}; do
+ config_kv=`echo $config_kv | xargs`
+ kv=(${config_kv//=/ })
+ if [ ! ${#kv[*]} -eq 2 ]; then
+ echo "Invalid config kv !"
+ exit 1
+ fi
+ sed -i '/^\s*'"${kv[0]}"'/c '"${kv[0]}"' = '"${kv[1]}"
./config-test.ini
+ done
+fi
./dsn_replica_dup_test
diff --git a/src/replica/split/test/config-test.ini
b/src/replica/split/test/config-test.ini
index ca0550f48..86279cd5a 100644
--- a/src/replica/split/test/config-test.ini
+++ b/src/replica/split/test/config-test.ini
@@ -86,3 +86,6 @@ allow_inline = false
rpc_call_channel = RPC_CHANNEL_TCP
rpc_message_header_format = dsn
rpc_timeout_milliseconds = 5000
+
+[replication]
+disk_min_available_space_ratio = 10
diff --git a/src/replica/split/test/run.sh b/src/replica/split/test/run.sh
index 397d6f7a8..71820b093 100755
--- a/src/replica/split/test/run.sh
+++ b/src/replica/split/test/run.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# The MIT License (MIT)
#
# Copyright (c) 2015 Microsoft Corporation
@@ -23,6 +23,24 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
+if [ -n ${TEST_OPTS} ]; then
+ if [ ! -f "./config-test.ini" ]; then
+ echo "./config-test.ini does not exists"
+ exit 1
+ fi
+
+ OPTS=`echo ${TEST_OPTS} | xargs`
+ config_kvs=(${OPTS//,/ })
+ for config_kv in ${config_kvs[@]}; do
+ config_kv=`echo $config_kv | xargs`
+ kv=(${config_kv//=/ })
+ if [ ! ${#kv[*]} -eq 2 ]; then
+ echo "Invalid config kv !"
+ exit 1
+ fi
+ sed -i '/^\s*'"${kv[0]}"'/c '"${kv[0]}"' = '"${kv[1]}"
./config-test.ini
+ done
+fi
./dsn_replica_split_test
diff --git a/src/replica/storage/simple_kv/config.ini
b/src/replica/storage/simple_kv/config.ini
index e1b1013e0..ad9ec3371 100644
--- a/src/replica/storage/simple_kv/config.ini
+++ b/src/replica/storage/simple_kv/config.ini
@@ -152,6 +152,7 @@ max_replica_count = 3
stateful = true
[replication]
+disk_min_available_space_ratio = 10
prepare_timeout_ms_for_secondaries = 10000
prepare_timeout_ms_for_potential_secondaries = 20000
diff --git a/src/replica/storage/simple_kv/run.sh
b/src/replica/storage/simple_kv/run.sh
index 6f0b84f18..7669b4daf 100755
--- a/src/replica/storage/simple_kv/run.sh
+++ b/src/replica/storage/simple_kv/run.sh
@@ -29,6 +29,25 @@ if [ ! -f dsn.replication.simple_kv ]; then
exit 1
fi
+if [ -n ${TEST_OPTS} ]; then
+ if [ ! -f "./config.ini" ]; then
+ echo "./config.ini does not exists"
+ exit 1
+ fi
+
+ OPTS=`echo ${TEST_OPTS} | xargs`
+ config_kvs=(${OPTS//,/ })
+ for config_kv in ${config_kvs[@]}; do
+ config_kv=`echo $config_kv | xargs`
+ kv=(${config_kv//=/ })
+ if [ ! ${#kv[*]} -eq 2 ]; then
+ echo "Invalid config kv !"
+ exit 1
+ fi
+ sed -i '/^\s*'"${kv[0]}"'/c '"${kv[0]}"' = '"${kv[1]}" ./config.ini
+ done
+fi
+
./clear.sh
echo "running dsn.replication.simple_kv for 20 seconds ..."
diff --git a/src/replica/storage/simple_kv/test/case-000.ini
b/src/replica/storage/simple_kv/test/case-000.ini
index 76896bdd8..a05a95e53 100644
--- a/src/replica/storage/simple_kv/test/case-000.ini
+++ b/src/replica/storage/simple_kv/test/case-000.ini
@@ -155,6 +155,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-001.ini
b/src/replica/storage/simple_kv/test/case-001.ini
index d5b5339f0..4f214ef80 100644
--- a/src/replica/storage/simple_kv/test/case-001.ini
+++ b/src/replica/storage/simple_kv/test/case-001.ini
@@ -155,6 +155,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-002.ini
b/src/replica/storage/simple_kv/test/case-002.ini
index 6beb5a024..d75bbc101 100644
--- a/src/replica/storage/simple_kv/test/case-002.ini
+++ b/src/replica/storage/simple_kv/test/case-002.ini
@@ -155,6 +155,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-003.ini
b/src/replica/storage/simple_kv/test/case-003.ini
index b6865db7a..8d60d50d6 100644
--- a/src/replica/storage/simple_kv/test/case-003.ini
+++ b/src/replica/storage/simple_kv/test/case-003.ini
@@ -155,6 +155,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-004.ini
b/src/replica/storage/simple_kv/test/case-004.ini
index 6dcbb398c..5c74f7e28 100644
--- a/src/replica/storage/simple_kv/test/case-004.ini
+++ b/src/replica/storage/simple_kv/test/case-004.ini
@@ -155,6 +155,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-005.ini
b/src/replica/storage/simple_kv/test/case-005.ini
index 7446967dd..4c8c84b32 100644
--- a/src/replica/storage/simple_kv/test/case-005.ini
+++ b/src/replica/storage/simple_kv/test/case-005.ini
@@ -155,6 +155,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-006.ini
b/src/replica/storage/simple_kv/test/case-006.ini
index beb1272fc..18e782b77 100644
--- a/src/replica/storage/simple_kv/test/case-006.ini
+++ b/src/replica/storage/simple_kv/test/case-006.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-100.ini
b/src/replica/storage/simple_kv/test/case-100.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-100.ini
+++ b/src/replica/storage/simple_kv/test/case-100.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-101.ini
b/src/replica/storage/simple_kv/test/case-101.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-101.ini
+++ b/src/replica/storage/simple_kv/test/case-101.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-102.ini
b/src/replica/storage/simple_kv/test/case-102.ini
index 9b0c33ea7..8c3504778 100644
--- a/src/replica/storage/simple_kv/test/case-102.ini
+++ b/src/replica/storage/simple_kv/test/case-102.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-103.ini
b/src/replica/storage/simple_kv/test/case-103.ini
index c57b99aa2..64a643dd0 100644
--- a/src/replica/storage/simple_kv/test/case-103.ini
+++ b/src/replica/storage/simple_kv/test/case-103.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-104.ini
b/src/replica/storage/simple_kv/test/case-104.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-104.ini
+++ b/src/replica/storage/simple_kv/test/case-104.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-105.ini
b/src/replica/storage/simple_kv/test/case-105.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-105.ini
+++ b/src/replica/storage/simple_kv/test/case-105.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-106.ini
b/src/replica/storage/simple_kv/test/case-106.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-106.ini
+++ b/src/replica/storage/simple_kv/test/case-106.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-107.ini
b/src/replica/storage/simple_kv/test/case-107.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-107.ini
+++ b/src/replica/storage/simple_kv/test/case-107.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-108.ini
b/src/replica/storage/simple_kv/test/case-108.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-108.ini
+++ b/src/replica/storage/simple_kv/test/case-108.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-109.ini
b/src/replica/storage/simple_kv/test/case-109.ini
index b674b1b40..d95415e37 100644
--- a/src/replica/storage/simple_kv/test/case-109.ini
+++ b/src/replica/storage/simple_kv/test/case-109.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-200.ini
b/src/replica/storage/simple_kv/test/case-200.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-200.ini
+++ b/src/replica/storage/simple_kv/test/case-200.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-201.ini
b/src/replica/storage/simple_kv/test/case-201.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-201.ini
+++ b/src/replica/storage/simple_kv/test/case-201.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-202-0.ini
b/src/replica/storage/simple_kv/test/case-202-0.ini
index 0dda324d6..a25eb9145 100644
--- a/src/replica/storage/simple_kv/test/case-202-0.ini
+++ b/src/replica/storage/simple_kv/test/case-202-0.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-202-1.ini
b/src/replica/storage/simple_kv/test/case-202-1.ini
index 0dda324d6..a25eb9145 100644
--- a/src/replica/storage/simple_kv/test/case-202-1.ini
+++ b/src/replica/storage/simple_kv/test/case-202-1.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-203-0.ini
b/src/replica/storage/simple_kv/test/case-203-0.ini
index 28af6cfe9..82d693aa9 100644
--- a/src/replica/storage/simple_kv/test/case-203-0.ini
+++ b/src/replica/storage/simple_kv/test/case-203-0.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-204.ini
b/src/replica/storage/simple_kv/test/case-204.ini
index 7dab9e62e..9fde171e6 100644
--- a/src/replica/storage/simple_kv/test/case-204.ini
+++ b/src/replica/storage/simple_kv/test/case-204.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-205.ini
b/src/replica/storage/simple_kv/test/case-205.ini
index 7dab9e62e..9fde171e6 100644
--- a/src/replica/storage/simple_kv/test/case-205.ini
+++ b/src/replica/storage/simple_kv/test/case-205.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-206.ini
b/src/replica/storage/simple_kv/test/case-206.ini
index 7dab9e62e..9fde171e6 100644
--- a/src/replica/storage/simple_kv/test/case-206.ini
+++ b/src/replica/storage/simple_kv/test/case-206.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-207.ini
b/src/replica/storage/simple_kv/test/case-207.ini
index 7dab9e62e..9fde171e6 100644
--- a/src/replica/storage/simple_kv/test/case-207.ini
+++ b/src/replica/storage/simple_kv/test/case-207.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-208.ini
b/src/replica/storage/simple_kv/test/case-208.ini
index 7dab9e62e..9fde171e6 100644
--- a/src/replica/storage/simple_kv/test/case-208.ini
+++ b/src/replica/storage/simple_kv/test/case-208.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-209.ini
b/src/replica/storage/simple_kv/test/case-209.ini
index 7dab9e62e..9fde171e6 100644
--- a/src/replica/storage/simple_kv/test/case-209.ini
+++ b/src/replica/storage/simple_kv/test/case-209.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-210.ini
b/src/replica/storage/simple_kv/test/case-210.ini
index a3897bb67..23784c15f 100644
--- a/src/replica/storage/simple_kv/test/case-210.ini
+++ b/src/replica/storage/simple_kv/test/case-210.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-211.ini
b/src/replica/storage/simple_kv/test/case-211.ini
index a3897bb67..23784c15f 100644
--- a/src/replica/storage/simple_kv/test/case-211.ini
+++ b/src/replica/storage/simple_kv/test/case-211.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-212.ini
b/src/replica/storage/simple_kv/test/case-212.ini
index 2b43d145a..4582c0787 100644
--- a/src/replica/storage/simple_kv/test/case-212.ini
+++ b/src/replica/storage/simple_kv/test/case-212.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-213.ini
b/src/replica/storage/simple_kv/test/case-213.ini
index 247a8fea5..103a599a6 100644
--- a/src/replica/storage/simple_kv/test/case-213.ini
+++ b/src/replica/storage/simple_kv/test/case-213.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-214.ini
b/src/replica/storage/simple_kv/test/case-214.ini
index 7dab9e62e..9fde171e6 100644
--- a/src/replica/storage/simple_kv/test/case-214.ini
+++ b/src/replica/storage/simple_kv/test/case-214.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-215.ini
b/src/replica/storage/simple_kv/test/case-215.ini
index 7dab9e62e..9fde171e6 100644
--- a/src/replica/storage/simple_kv/test/case-215.ini
+++ b/src/replica/storage/simple_kv/test/case-215.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-216.ini
b/src/replica/storage/simple_kv/test/case-216.ini
index 7dab9e62e..9fde171e6 100644
--- a/src/replica/storage/simple_kv/test/case-216.ini
+++ b/src/replica/storage/simple_kv/test/case-216.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-300-0.ini
b/src/replica/storage/simple_kv/test/case-300-0.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-300-0.ini
+++ b/src/replica/storage/simple_kv/test/case-300-0.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-300-1.ini
b/src/replica/storage/simple_kv/test/case-300-1.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-300-1.ini
+++ b/src/replica/storage/simple_kv/test/case-300-1.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-300-2.ini
b/src/replica/storage/simple_kv/test/case-300-2.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-300-2.ini
+++ b/src/replica/storage/simple_kv/test/case-300-2.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-301.ini
b/src/replica/storage/simple_kv/test/case-301.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-301.ini
+++ b/src/replica/storage/simple_kv/test/case-301.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-302.ini
b/src/replica/storage/simple_kv/test/case-302.ini
index 90681e6b9..38d3a831f 100644
--- a/src/replica/storage/simple_kv/test/case-302.ini
+++ b/src/replica/storage/simple_kv/test/case-302.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-303.ini
b/src/replica/storage/simple_kv/test/case-303.ini
index 0e0e866f8..04932bc94 100644
--- a/src/replica/storage/simple_kv/test/case-303.ini
+++ b/src/replica/storage/simple_kv/test/case-303.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-304.ini
b/src/replica/storage/simple_kv/test/case-304.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-304.ini
+++ b/src/replica/storage/simple_kv/test/case-304.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-305.ini
b/src/replica/storage/simple_kv/test/case-305.ini
index 0e0e866f8..04932bc94 100644
--- a/src/replica/storage/simple_kv/test/case-305.ini
+++ b/src/replica/storage/simple_kv/test/case-305.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-306.ini
b/src/replica/storage/simple_kv/test/case-306.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-306.ini
+++ b/src/replica/storage/simple_kv/test/case-306.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-307.ini
b/src/replica/storage/simple_kv/test/case-307.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-307.ini
+++ b/src/replica/storage/simple_kv/test/case-307.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-400.ini
b/src/replica/storage/simple_kv/test/case-400.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-400.ini
+++ b/src/replica/storage/simple_kv/test/case-400.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-401.ini
b/src/replica/storage/simple_kv/test/case-401.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-401.ini
+++ b/src/replica/storage/simple_kv/test/case-401.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-402.ini
b/src/replica/storage/simple_kv/test/case-402.ini
index e71811be9..0f601799a 100644
--- a/src/replica/storage/simple_kv/test/case-402.ini
+++ b/src/replica/storage/simple_kv/test/case-402.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-600.ini
b/src/replica/storage/simple_kv/test/case-600.ini
index beb1272fc..18e782b77 100644
--- a/src/replica/storage/simple_kv/test/case-600.ini
+++ b/src/replica/storage/simple_kv/test/case-600.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-601.ini
b/src/replica/storage/simple_kv/test/case-601.ini
index 0401980fc..9a25f26cc 100644
--- a/src/replica/storage/simple_kv/test/case-601.ini
+++ b/src/replica/storage/simple_kv/test/case-601.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-602.ini
b/src/replica/storage/simple_kv/test/case-602.ini
index beb1272fc..18e782b77 100644
--- a/src/replica/storage/simple_kv/test/case-602.ini
+++ b/src/replica/storage/simple_kv/test/case-602.ini
@@ -156,6 +156,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/case-603.ini
b/src/replica/storage/simple_kv/test/case-603.ini
index 4b171e934..1531c037f 100644
--- a/src/replica/storage/simple_kv/test/case-603.ini
+++ b/src/replica/storage/simple_kv/test/case-603.ini
@@ -158,6 +158,7 @@ partition_count = 1
max_replica_count = 3
[replication]
+disk_min_available_space_ratio = 10
empty_write_disabled = true
prepare_timeout_ms_for_secondaries = 1000
prepare_timeout_ms_for_potential_secondaries = 3000
diff --git a/src/replica/storage/simple_kv/test/config.ini
b/src/replica/storage/simple_kv/test/config.ini
index 892a31825..b014b44c3 100644
--- a/src/replica/storage/simple_kv/test/config.ini
+++ b/src/replica/storage/simple_kv/test/config.ini
@@ -179,6 +179,7 @@ max_replica_count = 3
stateful = true
[replication]
+disk_min_available_space_ratio = 10
prepare_timeout_ms_for_secondaries = 10000
prepare_timeout_ms_for_potential_secondaries = 20000
diff --git a/src/replica/storage/simple_kv/test/run.sh
b/src/replica/storage/simple_kv/test/run.sh
index 7737b09c9..b3daa127d 100755
--- a/src/replica/storage/simple_kv/test/run.sh
+++ b/src/replica/storage/simple_kv/test/run.sh
@@ -29,6 +29,26 @@ bin=./dsn.rep_tests.simple_kv
function run_single()
{
prefix=$1
+
+ if [ -n ${TEST_OPTS} ]; then
+ if [ ! -f "./${prefix}.ini" ]; then
+ echo "./${prefix}.ini does not exists"
+ exit 1
+ fi
+
+ OPTS=`echo ${TEST_OPTS} | xargs`
+ config_kvs=(${OPTS//,/ })
+ for config_kv in ${config_kvs[@]}; do
+ config_kv=`echo $config_kv | xargs`
+ kv=(${config_kv//=/ })
+ if [ ! ${#kv[*]} -eq 2 ]; then
+ echo "Invalid config kv !"
+ exit 1
+ fi
+ sed -i '/^\s*'"${kv[0]}"'/c '"${kv[0]}"' = '"${kv[1]}"
./${prefix}.ini
+ done
+ fi
+
echo "${bin} ${prefix}.ini ${prefix}.act"
${bin} ${prefix}.ini ${prefix}.act
ret=$?
diff --git a/src/replica/test/config-test.ini b/src/replica/test/config-test.ini
index 1a1997cc9..9d73bb5d0 100644
--- a/src/replica/test/config-test.ini
+++ b/src/replica/test/config-test.ini
@@ -87,6 +87,9 @@ rpc_call_channel = RPC_CHANNEL_TCP
rpc_message_header_format = dsn
rpc_timeout_milliseconds = 5000
+[replication]
+disk_min_available_space_ratio = 10
+
[block_service.local_service]
type = local_service
args =
diff --git a/src/replica/test/run.sh b/src/replica/test/run.sh
index 6d645f332..12152709d 100755
--- a/src/replica/test/run.sh
+++ b/src/replica/test/run.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# The MIT License (MIT)
#
# Copyright (c) 2015 Microsoft Corporation
@@ -28,6 +28,25 @@ if [ -z "${REPORT_DIR}" ]; then
REPORT_DIR="."
fi
+if [ -n ${TEST_OPTS} ]; then
+ if [ ! -f "./config-test.ini" ]; then
+ echo "./config-test.ini does not exists"
+ exit 1
+ fi
+
+ OPTS=`echo ${TEST_OPTS} | xargs`
+ config_kvs=(${OPTS//,/ })
+ for config_kv in ${config_kvs[@]}; do
+ config_kv=`echo $config_kv | xargs`
+ kv=(${config_kv//=/ })
+ if [ ! ${#kv[*]} -eq 2 ]; then
+ echo "Invalid config kv !"
+ exit 1
+ fi
+ sed -i '/^\s*'"${kv[0]}"'/c '"${kv[0]}"' = '"${kv[1]}"
./config-test.ini
+ done
+fi
+
./clear.sh
output_xml="${REPORT_DIR}/dsn.replica.test.1.xml"
GTEST_OUTPUT="xml:${output_xml}" ./dsn.replica.test
diff --git a/src/server/test/config.ini b/src/server/test/config.ini
index a1125b265..018d5b28d 100644
--- a/src/server/test/config.ini
+++ b/src/server/test/config.ini
@@ -144,6 +144,7 @@ max_replica_count = 3
stateful = true
[replication]
+disk_min_available_space_ratio = 10
data_dirs_black_list_file = /home/mi/.pegasus_data_dirs_black_list
cluster_name = onebox
diff --git a/src/server/test/run.sh b/src/server/test/run.sh
index 76baf02a0..d8da4db1a 100755
--- a/src/server/test/run.sh
+++ b/src/server/test/run.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
@@ -23,6 +23,25 @@ exit_if_fail() {
fi
}
+if [ -n ${TEST_OPTS} ]; then
+ if [ ! -f ./config.ini ]; then
+ echo "./config.ini does not exists !"
+ exit 1
+ fi
+
+ OPTS=`echo ${TEST_OPTS} | xargs`
+ config_kvs=(${OPTS//,/ })
+ for config_kv in ${config_kvs[@]}; do
+ config_kv=`echo $config_kv | xargs`
+ kv=(${config_kv//=/ })
+ if [ ! ${#kv[*]} -eq 2 ]; then
+ echo "Invalid config kv !"
+ exit 1
+ fi
+ sed -i '/^\s*'"${kv[0]}"'/c '"${kv[0]}"' = '"${kv[1]}" ./config.ini
+ done
+fi
+
./pegasus_unit_test
exit_if_fail $? "run unit test failed"
diff --git a/src/test/function_test/run.sh b/src/test/function_test/run.sh
index 9bd561386..947cc35f8 100755
--- a/src/test/function_test/run.sh
+++ b/src/test/function_test/run.sh
@@ -26,7 +26,7 @@ fi
if [ -n ${TEST_OPTS} ]; then
if [ ! -f ./config.ini ]; then
- echo "./config.ini does not exists !"
+ echo "./config.ini does not exists"
exit 1
fi
diff --git a/src/utils/filesystem.cpp b/src/utils/filesystem.cpp
index 1954f29b5..8bfe4cfa6 100644
--- a/src/utils/filesystem.cpp
+++ b/src/utils/filesystem.cpp
@@ -694,7 +694,7 @@ bool get_disk_space_info(const std::string &path,
disk_space_info &info)
FAIL_POINT_INJECT_F("filesystem_get_disk_space_info", [&info](string_view
str) {
info.capacity = 100 * 1024 * 1024;
if (str.find("insufficient") != string_view::npos) {
- info.available = 5 * 1024 * 1024;
+ info.available = 512 * 1024;
} else {
info.available = 50 * 1024 * 1024;
}
diff --git a/src/utils/simple_logger.cpp b/src/utils/simple_logger.cpp
index f6a21b16d..53fc3a889 100644
--- a/src/utils/simple_logger.cpp
+++ b/src/utils/simple_logger.cpp
@@ -41,6 +41,7 @@
#include "utils/filesystem.h"
#include "utils/flags.h"
#include "utils/fmt_logging.h"
+#include "utils/ports.h"
#include "utils/process_utils.h"
#include "utils/strings.h"
#include "utils/time_utils.h"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]