Merge branch 'master' into shell
diff --git a/scripts/pegasus_add_node_list.sh b/scripts/pegasus_add_node_list.sh
index 8617f20..81b4905 100755
--- a/scripts/pegasus_add_node_list.sh
+++ b/scripts/pegasus_add_node_list.sh
@@ -22,10 +22,10 @@
PID=$$
if [ $# -le 2 ]; then
- echo "USAGE: $0 <cluster-name> <cluster-meta-list> <replica-task-id-list>"
+ echo "USAGE: $0 <cluster-name> <cluster-meta-list> <replica-task-id-list> <nfs_copy_rate_megabytes>(default 200)"
echo
echo "For example:"
- echo " $0 onebox 127.0.0.1:34601,127.0.0.1:34602 1,2,3"
+ echo " $0 onebox 127.0.0.1:34601,127.0.0.1:34602 1,2,3 200"
echo
exit 1
fi
@@ -40,6 +40,12 @@
meta_list=$2
replica_task_id_list=$3
+if [ -z $4 ]; then
+ nfs_copy_rate_megabytes=200
+else
+ nfs_copy_rate_megabytes=$4
+fi
+
pwd="$( cd "$( dirname "$0" )" && pwd )"
shell_dir="$( cd $pwd/.. && pwd )"
cd $shell_dir
@@ -71,7 +77,7 @@
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
done
-./scripts/pegasus_rebalance_cluster.sh $cluster $meta_list true
+./scripts/pegasus_rebalance_cluster.sh $cluster $meta_list true $nfs_copy_rate_megabytes
echo "Finish time: `date`"
add_node_finish_time=$((`date +%s`))
diff --git a/scripts/pegasus_offline_node_list.sh b/scripts/pegasus_offline_node_list.sh
index 55fed3b..86fb735 100755
--- a/scripts/pegasus_offline_node_list.sh
+++ b/scripts/pegasus_offline_node_list.sh
@@ -22,10 +22,10 @@
PID=$$
if [ $# -le 2 ]; then
- echo "USAGE: $0 <cluster-name> <cluster-meta-list> <replica-task-id-list>"
+ echo "USAGE: $0 <cluster-name> <cluster-meta-list> <replica-task-id-list> <nfs_copy_rate_megabytes>(default 100)>"
echo
echo "For example:"
- echo " $0 onebox 127.0.0.1:34601,127.0.0.1:34602 1,2,3"
+ echo " $0 onebox 127.0.0.1:34601,127.0.0.1:34602 1,2,3 100"
echo
exit 1
fi
@@ -40,6 +40,12 @@
meta_list=$2
replica_task_id_list=$3
+if [ -z $4 ]; then
+ nfs_copy_rate_megabytes=100
+else
+ nfs_copy_rate_megabytes=$4
+fi
+
pwd="$( cd "$( dirname "$0" )" && pwd )"
shell_dir="$( cd $pwd/.. && pwd )"
cd $shell_dir
@@ -52,6 +58,14 @@
exit 1
fi
+echo "Set nfs_copy_rate_megabytes $nfs_copy_rate_megabytes"
+echo "remote_command -t replica-server replica.nfs.max_copy_rate_megabytes $nfs_copy_rate_megabytes" | ./run.sh shell --cluster $meta_list &>/tmp/$UID.$PID.pegasus.offline_node_list.set_nfs_copy_rate_megabytes
+set_ok=`grep 'succeed: OK' /tmp/$UID.$PID.pegasus.offline_node_list.set_nfs_copy_rate_megabytes | wc -l`
+if [ $set_ok -le 0 ]; then
+ echo "ERROR: set nfs_copy_rate_megabytes failed"
+ exit 1
+fi
+
echo "Set lb.assign_secondary_black_list..."
echo "remote_command -l $pmeta meta.lb.assign_secondary_black_list $address_list" | ./run.sh shell --cluster $meta_list &>/tmp/$UID.$PID.pegasus.offline_node_list.assign_secondary_black_list
set_ok=`grep "set ok" /tmp/$UID.$PID.pegasus.offline_node_list.assign_secondary_black_list | wc -l`
diff --git a/scripts/pegasus_rebalance_cluster.sh b/scripts/pegasus_rebalance_cluster.sh
index b0fb46d..62f70c7 100755
--- a/scripts/pegasus_rebalance_cluster.sh
+++ b/scripts/pegasus_rebalance_cluster.sh
@@ -22,10 +22,10 @@
PID=$$
if [ $# -le 1 ]; then
- echo "USAGE: $0 <cluster-name> <cluster-meta-list> <only-move-primary>(default false)"
+ echo "USAGE: $0 <cluster-name> <cluster-meta-list> <only-move-primary>(default false) <nfs_copy_rate_megabytes>(default 100)"
echo
echo "for example:"
- echo " $0 onebox 127.0.0.1:34601,127.0.0.1:34602 true"
+ echo " $0 onebox 127.0.0.1:34601,127.0.0.1:34602 true 100"
echo
exit 1
fi
@@ -39,6 +39,12 @@
only_move_primary=$3
fi
+if [ -z $4 ]; then
+ nfs_copy_rate_megabytes=100
+else
+ nfs_copy_rate_megabytes=$4
+fi
+
pwd="$( cd "$( dirname "$0" )" && pwd )"
shell_dir="$( cd $pwd/.. && pwd )"
cd $shell_dir
@@ -82,6 +88,14 @@
fi
echo
+echo "Set nfs_copy_rate_megabytes $nfs_copy_rate_megabytes"
+echo "remote_command -t replica-server replica.nfs.max_copy_rate_megabytes $nfs_copy_rate_megabytes" | ./run.sh shell --cluster $meta_list &>/tmp/$UID.$PID.pegasus.cluster_rebalance.set_nfs_copy_rate_megabytes
+set_ok=`grep 'succeed: OK' /tmp/$UID.$PID.pegasus.cluster_rebalance.set_nfs_copy_rate_megabytes | wc -l`
+if [ $set_ok -le 0 ]; then
+ echo "ERROR: set nfs_copy_rate_megabytes failed"
+ exit 1
+fi
+
echo "Set meta level to lively..."
echo "set_meta_level lively" | ./run.sh shell --cluster $meta_list &>/tmp/$UID.$PID.pegasus.rebalance.set_meta_level
set_ok=`grep 'control meta level ok' /tmp/$UID.$PID.pegasus.rebalance.set_meta_level | wc -l`
diff --git a/src/server/pegasus_server_impl.cpp b/src/server/pegasus_server_impl.cpp
index 2be1e8a..890d7bb 100644
--- a/src/server/pegasus_server_impl.cpp
+++ b/src/server/pegasus_server_impl.cpp
@@ -2846,49 +2846,35 @@
{
dsn::task_code rpc_code(request->rpc_code());
if (rpc_code == dsn::apps::RPC_RRDB_RRDB_PUT) {
- auto put = put_rpc::auto_reply(request).request();
+ auto put = put_rpc(request).request();
::dsn::blob hash_key, sort_key;
pegasus_restore_key(put.key, hash_key, sort_key);
- std::string request("put:");
- request.append("hash_key=")
- .append(pegasus::utils::c_escape_string(hash_key))
- .append(",sort_key=")
- .append(pegasus::utils::c_escape_string(sort_key));
- return request;
+ return fmt::format("put: hash_key={}, sort_key={}",
+ pegasus::utils::c_escape_string(hash_key),
+ pegasus::utils::c_escape_string(sort_key));
}
if (rpc_code == dsn::apps::RPC_RRDB_RRDB_MULTI_PUT) {
- auto multi_put = multi_put_rpc::auto_reply(request).request();
- std::string request("multi_put:");
- request.append("hash_key=")
- .append(pegasus::utils::c_escape_string((multi_put.hash_key))
- .append(",multi_put_count=")
- .append(std::to_string(multi_put.kvs.size())));
- return request;
+ auto multi_put = multi_put_rpc(request).request();
+ return fmt::format("multi_put: hash_key={}, multi_put_count={}",
+ pegasus::utils::c_escape_string(multi_put.hash_key),
+ multi_put.kvs.size());
}
if (rpc_code == dsn::apps::RPC_RRDB_RRDB_CHECK_AND_SET) {
- auto check_and_set = check_and_set_rpc::auto_reply(request).request();
- std::string request("check_and_set:");
- request.append("hash_key=")
- .append(pegasus::utils::c_escape_string(check_and_set.hash_key))
- .append(",check_sort_key=")
- .append(pegasus::utils::c_escape_string(check_and_set.check_sort_key))
- .append(",set_sort_key=")
- .append(pegasus::utils::c_escape_string(check_and_set.set_sort_key));
- return request;
+ auto check_and_set = check_and_set_rpc(request).request();
+ return fmt::format("check_and_set: hash_key={}, check_sort_key={}, set_sort_key={}",
+ pegasus::utils::c_escape_string(check_and_set.hash_key),
+ pegasus::utils::c_escape_string(check_and_set.check_sort_key),
+ pegasus::utils::c_escape_string(check_and_set.set_sort_key));
}
if (rpc_code == dsn::apps::RPC_RRDB_RRDB_CHECK_AND_MUTATE) {
- auto check_and_mutate = check_and_mutate_rpc::auto_reply(request).request();
- std::string request("check_and_mutate:");
- request.append("hash_key=")
- .append(pegasus::utils::c_escape_string(check_and_mutate.hash_key))
- .append(",check_sort_key=")
- .append(pegasus::utils::c_escape_string(check_and_mutate.check_sort_key))
- .append(",set_value_count=")
- .append(std::to_string(check_and_mutate.mutate_list.size()));
- return request;
+ auto check_and_mutate = check_and_mutate_rpc(request).request();
+ return fmt::format("check_and_mutate: hash_key={}, check_sort_key={}, set_value_count={}",
+ pegasus::utils::c_escape_string(check_and_mutate.hash_key),
+ pegasus::utils::c_escape_string(check_and_mutate.check_sort_key),
+ check_and_mutate.mutate_list.size());
}
return "default";