Merge branch 'master' into shell
diff --git a/rdsn b/rdsn
index f508428..646a8b1 160000
--- a/rdsn
+++ b/rdsn
@@ -1 +1 @@
-Subproject commit f5084283e91f73ae1bea50ad722ccd20561c76a7
+Subproject commit 646a8b1ff31fd38e870bb7708c76a8c172825c5e
diff --git a/scripts/pegasus_rolling_update.sh b/scripts/pegasus_rolling_update.sh
index ecb6002..e740f26 100755
--- a/scripts/pegasus_rolling_update.sh
+++ b/scripts/pegasus_rolling_update.sh
@@ -143,6 +143,10 @@
       echo "Send migrate propose, refer to /tmp/$UID.$PID.pegasus.rolling_update.migrate_node for details"
     fi
     pri_count=`echo 'nodes -d' | ./run.sh shell --cluster $meta_list | grep $node | awk '{print $4}'`
+    if [ -z $pri_count ]; then
+      echo "unable to get primaries count on $node"
+      exit 1
+    fi
     if [ $pri_count -eq 0 ]; then
       echo "Migrate done."
       break
@@ -167,6 +171,10 @@
       echo "Send downgrade propose, refer to /tmp/$UID.$PID.pegasus.rolling_update.downgrade_node for details"
     fi
     rep_count=`echo 'nodes -d' | ./run.sh shell --cluster $meta_list | grep $node | awk '{print $3}'`
+    if [ -z $rep_count ]; then
+      echo "unable to get replicas count on $node"
+      exit 1
+    fi
     if [ $rep_count -eq 0 ]; then
       echo "Downgrade done."
       break
diff --git a/src/shell/main.cpp b/src/shell/main.cpp
index 43c2eb8..f2e9fe5 100644
--- a/src/shell/main.cpp
+++ b/src/shell/main.cpp
@@ -418,9 +418,10 @@
     {
         "restore_app",
         "restore app from backup media",
-        "<-c|--old_cluster_name str> <-p|--old_policy_name str> <-a|--old_app_name str> "
+        "<-c|--old_cluster_name str> <-a|--old_app_name str> "
         "<-i|--old_app_id id> <-t|--timestamp/backup_id timestamp> "
-        "<-b|--backup_provider_type str> [-n|--new_app_name str] [-s|--skip_bad_partition]",
+        "<-b|--backup_provider_type str> "
+        "[-p|--old_policy_name str] [-n|--new_app_name str] [-s|--skip_bad_partition]",
         restore,
     },
     {