Author: rjung
Date: Mon Dec 31 11:26:24 2007
New Revision: 607768

URL: http://svn.apache.org/viewvc?rev=607768&view=rev
Log:
Fix BZ 44147: Multiple load balancing workers problem.
Patch contributed by zealot0630 (at) gmail (dot) com.

Modified:
    tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
    tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
    tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml

Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?rev=607768&r1=607767&r2=607768&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Mon Dec 31 11:26:24 
2007
@@ -632,7 +632,6 @@
 static worker_record_t *find_best_byvalue(lb_worker_t *p,
                                           jk_logger_t *l)
 {
-    static unsigned int next_offset = 0;
     unsigned int i;
     unsigned int j;
     unsigned int offset;
@@ -642,7 +641,7 @@
     /* find the least busy worker */
     worker_record_t *candidate = NULL;
 
-    offset = next_offset;
+    offset = p->next_offset;
 
     /* First try to see if we have available candidate */
     for (j = offset; j < p->num_of_workers + offset; j++) {
@@ -658,7 +657,7 @@
                 candidate = &p->lb_workers[i];
                 curmin = p->lb_workers[i].s->lb_value;
                 d = p->lb_workers[i].s->distance;
-                next_offset = i + 1;
+                p->next_offset = i + 1;
             }
         }
     }
@@ -1536,6 +1535,7 @@
         private_data->recover_wait_time = WAIT_BEFORE_RECOVER;
         private_data->max_reply_timeouts = 0;
         private_data->sequence = 0;
+        private_data->next_offset = 0;
         *w = &private_data->worker;
         JK_TRACE_EXIT(l);
         return JK_LB_WORKER_TYPE;

Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h?rev=607768&r1=607767&r2=607768&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h Mon Dec 31 11:26:24 
2007
@@ -143,6 +143,7 @@
     int          maintain_time;
     unsigned int max_packet_size;
     unsigned int sequence;
+    unsigned int next_offset;
 
     jk_pool_t p;
     jk_pool_atom_t buf[TINY_POOL_SIZE];

Modified: tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml?rev=607768&r1=607767&r2=607768&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Mon Dec 31 
11:26:24 2007
@@ -39,10 +39,13 @@
   new documentation project for JK was started.
   </p>
 </section>
-<section name="Changes between 1.2.25 and 1.2.26">
+<section name="Changes between 1.2.26 and 1.2.27">
   <br />
   <subsection name="Native">
     <changelog>
+      <fix>
+        <bug>44147</bug>: Multiple load balancing workers problem. (rjung)
+      </fix>
     </changelog>
   </subsection>
 </section>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to