You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ch...@apache.org on 2013/04/03 05:22:29 UTC
git commit: TS-1797 improve ClusterMachine::pop_ClusterHandler() when
ts starting
Updated Branches:
refs/heads/master 86b17cc13 -> 25adb5cf4
TS-1797 improve ClusterMachine::pop_ClusterHandler() when ts starting
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/25adb5cf
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/25adb5cf
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/25adb5cf
Branch: refs/heads/master
Commit: 25adb5cf4833a08de59f773095f4321920ecbaee
Parents: 86b17cc
Author: Chen Bin <ku...@taobao.com>
Authored: Wed Apr 3 11:17:22 2013 +0800
Committer: Chen Bin <ku...@taobao.com>
Committed: Wed Apr 3 11:17:22 2013 +0800
----------------------------------------------------------------------
iocore/cluster/ClusterMachine.cc | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/25adb5cf/iocore/cluster/ClusterMachine.cc
----------------------------------------------------------------------
diff --git a/iocore/cluster/ClusterMachine.cc b/iocore/cluster/ClusterMachine.cc
index e4ac7df..a60839f 100644
--- a/iocore/cluster/ClusterMachine.cc
+++ b/iocore/cluster/ClusterMachine.cc
@@ -152,10 +152,17 @@ clusterHandlers(0)
ClusterHandler *ClusterMachine::pop_ClusterHandler(int no_rr)
{
+ int find = 0;
int64_t now = rr_count;
if (no_rr == 0) {
ink_atomic_increment(&rr_count, 1);
}
+
+ /* will happen when ts start (cluster connection is not established) */
+ while (!clusterHandlers[now % this->num_connections] && (find < this->num_connections)) {
+ now++;
+ find++;
+ }
return this->clusterHandlers[now % this->num_connections];
}