summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-03-27 17:05:35 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-03-27 17:05:35 +0000
commite08767228c33e290313caf5ff19b183df069fc26 (patch)
tree8c150a192f925501f51c0d5264dab0292117f877
parent6cf46ebda912dfcd571e1de6813df7acf610c20f (diff)
downloadATCD-e08767228c33e290313caf5ff19b183df069fc26.tar.gz
ChangeLogTag:Mon Mar 27 09:03:51 2000 Carlos O'Ryan <coryan@uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a10
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/Minimum_Dispersion.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/Minimum_Dispersion.cpp2
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/Hash_ReplicaControl.cpp2
4 files changed, 14 insertions, 2 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 62ce03547ab..a1ae6c5801e 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,13 @@
+Mon Mar 27 09:03:51 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * orbsvcs/tests/LoadBalancing/Hash_ReplicaControl.cpp:
+ Only one client is rejected under high load conditions.
+ Otherwise we get herds of clients moving from server to server,
+ i.e. the load balancing system is unstable.
+
+ * orbsvcs/orbsvcs/LoadBalancing/Minimum_Dispersion.cpp:
+ Adjust the high load threshold.
+
Sun Mar 26 20:15:17 2000 Carlos O'Ryan <coryan@uci.edu>
* orbsvcs/orbsvcs/Makefile.LoadBalancing:
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/Minimum_Dispersion.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/Minimum_Dispersion.cpp
index f94ded70438..f02daeb1f77 100644
--- a/TAO/orbsvcs/orbsvcs/LoadBalancing/Minimum_Dispersion.cpp
+++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/Minimum_Dispersion.cpp
@@ -117,7 +117,7 @@ Minimum_Dispersion_Strategy::load_changed (ReplicaProxy_Impl *proxy,
ACE_DEBUG ((LM_DEBUG, "Load[%x] %f %f %f\n",
proxy, cl, avg, relative_load));
- if (relative_load > 1 + 1.0F / n)
+ if (relative_load > 1 + 1.5F / n)
{
proxy->has_high_load_ = 1;
proxy->control_->high_load_advisory (ACE_TRY_ENV);
diff --git a/TAO/orbsvcs/orbsvcs/Minimum_Dispersion.cpp b/TAO/orbsvcs/orbsvcs/Minimum_Dispersion.cpp
index f94ded70438..f02daeb1f77 100644
--- a/TAO/orbsvcs/orbsvcs/Minimum_Dispersion.cpp
+++ b/TAO/orbsvcs/orbsvcs/Minimum_Dispersion.cpp
@@ -117,7 +117,7 @@ Minimum_Dispersion_Strategy::load_changed (ReplicaProxy_Impl *proxy,
ACE_DEBUG ((LM_DEBUG, "Load[%x] %f %f %f\n",
proxy, cl, avg, relative_load));
- if (relative_load > 1 + 1.0F / n)
+ if (relative_load > 1 + 1.5F / n)
{
proxy->has_high_load_ = 1;
proxy->control_->high_load_advisory (ACE_TRY_ENV);
diff --git a/TAO/orbsvcs/tests/LoadBalancing/Hash_ReplicaControl.cpp b/TAO/orbsvcs/tests/LoadBalancing/Hash_ReplicaControl.cpp
index cb60acf0482..866f8d43429 100644
--- a/TAO/orbsvcs/tests/LoadBalancing/Hash_ReplicaControl.cpp
+++ b/TAO/orbsvcs/tests/LoadBalancing/Hash_ReplicaControl.cpp
@@ -65,6 +65,7 @@ Hash_ReplicaControl::handle_timeout (const ACE_Time_Value &,
this->proxy_->current_load (this->current_load_,
ACE_TRY_ENV);
ACE_TRY_CHECK;
+ ACE_DEBUG ((LM_DEBUG, "Current_Load = %f\n", this->current_load_));
}
ACE_CATCHANY
{
@@ -83,6 +84,7 @@ Hash_ReplicaControl::request_received (void)
void
Hash_ReplicaControl::request_rejected (CORBA::Environment &ACE_TRY_ENV)
{
+ this->replica_.reject_requests (0);
ACE_THROW (PortableServer::ForwardRequest (
CORBA::Object::_duplicate (this->group_.in ())));