From 8185588bb27f870871975a1b26d706a7b656de57 Mon Sep 17 00:00:00 2001 From: Kaveh Vahedipour Date: Thu, 3 Nov 2016 16:47:38 +0100 Subject: [PATCH] double percision conserved for timeout in AgencyComm --- arangod/Agency/Inception.cpp | 2 +- arangod/Cluster/AgencyComm.cpp | 4 ++-- scripts/startStandAloneAgency.sh | 9 +++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/arangod/Agency/Inception.cpp b/arangod/Agency/Inception.cpp index 0ebea154cf..6c36c48dfc 100644 --- a/arangod/Agency/Inception.cpp +++ b/arangod/Agency/Inception.cpp @@ -468,7 +468,7 @@ bool Inception::estimateRAFTInterval() { } } - maxmean = 1.e-3*std::ceil(1.e3*(.5 + 1.0e-3*(maxmean+3*maxstdev))); + maxmean = 1.e-3*std::ceil(1.e3*(.25 + 1.0e-3*(maxmean+3*maxstdev))); LOG_TOPIC(INFO, Logger::AGENCY) << "Auto-adapting RAFT timing to: {" << maxmean diff --git a/arangod/Cluster/AgencyComm.cpp b/arangod/Cluster/AgencyComm.cpp index 68502366db..38b96f6eb7 100644 --- a/arangod/Cluster/AgencyComm.cpp +++ b/arangod/Cluster/AgencyComm.cpp @@ -1615,7 +1615,7 @@ AgencyCommResult AgencyComm::sendWithFailover( using namespace std::chrono; auto start = system_clock::now(); - seconds ltimeout(static_cast(timeout)); + duration to(1.e3*timeout); { READ_LOCKER(readLocker, AgencyComm::_globalLock); @@ -1666,7 +1666,7 @@ AgencyCommResult AgencyComm::sendWithFailover( break; } - if (system_clock::now() - start > ltimeout) { + if (system_clock::now() - start > to) { LOG_TOPIC(ERR, Logger::AGENCYCOMM) << "Timed out waiting for leader " << agencyEndpoint->_endpoint->specification() << " tries: " << ltries; break; diff --git a/scripts/startStandAloneAgency.sh b/scripts/startStandAloneAgency.sh index 5bce1b307c..6d2cd7d310 100755 --- a/scripts/startStandAloneAgency.sh +++ b/scripts/startStandAloneAgency.sh @@ -11,6 +11,7 @@ function help() { echo " -w/--wait-for-sync Boolean (true|false default: true)" echo " -m/--use-microtime Boolean (true|false default: false)" echo " -s/--start-delays Integer ( default: 0)" + echo " -r/--random-delays Boolean (tru|false default: false)" echo " -g/--gossip-mode Integer (0: Announce first endpoint to all" echo " 1: Grow list of known endpoints for each" echo " 2: Cyclic default: 0)" @@ -25,13 +26,13 @@ function help() { function shuffle() { local i tmp size max rand - size=${#array[*]} + size=${#aaid[*]} max=$(( 32768 / size * size )) for ((i=size-1; i>0; i--)); do while (( (rand=$RANDOM) >= max )); do :; done rand=$(( rand % (i+1) )) - tmp=${array[i]} array[i]=${array[rand]} array[rand]=$tmp + tmp=${aaid[i]} aaid[i]=${aaid[rand]} aaid[rand]=$tmp done } @@ -132,10 +133,10 @@ rm -rf agency mkdir -p agency PIDS="" -array=(`seq 0 $(( $POOLSZ - 1 ))`) +aaid=(`seq 0 $(( $POOLSZ - 1 ))`) shuffle -for aid in "${array[@]}"; do +for aid in "${aaid[@]}"; do port=$(( $BASE + $aid )) if [ "$GOSSIP_MODE" = 2 ]; then