Lines 3625-3630
static int commit_member(jk_ws_service_t *s,
Link Here
|
3625 |
return rc; |
3625 |
return rc; |
3626 |
} |
3626 |
} |
3627 |
|
3627 |
|
|
|
3628 |
static void force_subworker_update(lb_worker_t *lb) { |
3629 |
unsigned int i; |
3630 |
for (i = 0; i < lb->num_of_workers; i++) { |
3631 |
lb->lb_workers[i].sequence = -1; |
3632 |
} |
3633 |
} |
3634 |
|
3628 |
static void commit_all_members(jk_ws_service_t *s, |
3635 |
static void commit_all_members(jk_ws_service_t *s, |
3629 |
status_endpoint_t *p, |
3636 |
status_endpoint_t *p, |
3630 |
jk_worker_t *jw, |
3637 |
jk_worker_t *jw, |
Lines 3887-3895
static void commit_all_members(jk_ws_service_t *s,
Link Here
|
3887 |
} |
3894 |
} |
3888 |
if (rc == 1) |
3895 |
if (rc == 1) |
3889 |
reset_lb_values(lb, l); |
3896 |
reset_lb_values(lb, l); |
3890 |
else if (rc == 2) |
3897 |
else if (rc == 2) { |
3891 |
/* Recalculate the load multiplicators wrt. lb_factor */ |
3898 |
/* Recalculate the load multiplicators wrt. lb_factor */ |
3892 |
update_mult(lb, l); |
3899 |
update_mult(lb, l); |
|
|
3900 |
force_subworker_update(lb); |
3901 |
} |
3893 |
if (rc) { |
3902 |
if (rc) { |
3894 |
lb->sequence = -1; |
3903 |
lb->sequence = -1; |
3895 |
jk_lb_push(lb, JK_TRUE, l); |
3904 |
jk_lb_push(lb, JK_TRUE, l); |
Lines 4395-4410
static int update_worker(jk_ws_service_t *s,
Link Here
|
4395 |
if (rv & JK_STATUS_NEEDS_ADDR_PUSH) { |
4404 |
if (rv & JK_STATUS_NEEDS_ADDR_PUSH) { |
4396 |
aw->addr_sequence = -1; |
4405 |
aw->addr_sequence = -1; |
4397 |
} |
4406 |
} |
|
|
4407 |
if (rv & JK_STATUS_NEEDS_RESET_LB_VALUES) |
4408 |
reset_lb_values(lb, l); |
4409 |
if (rv & JK_STATUS_NEEDS_UPDATE_MULT) { |
4410 |
/* Recalculate the load multiplicators wrt. lb_factor */ |
4411 |
update_mult(lb, l); |
4412 |
force_subworker_update(lb); |
4413 |
} |
4398 |
if (rv & (JK_STATUS_NEEDS_PUSH | JK_STATUS_NEEDS_ADDR_PUSH)) { |
4414 |
if (rv & (JK_STATUS_NEEDS_PUSH | JK_STATUS_NEEDS_ADDR_PUSH)) { |
4399 |
wr->sequence = -1; |
4415 |
wr->sequence = -1; |
4400 |
lb->sequence = -1; |
4416 |
lb->sequence = -1; |
4401 |
jk_lb_push(lb, JK_TRUE, l); |
4417 |
jk_lb_push(lb, JK_TRUE, l); |
4402 |
} |
4418 |
} |
4403 |
if (rv & JK_STATUS_NEEDS_RESET_LB_VALUES) |
|
|
4404 |
reset_lb_values(lb, l); |
4405 |
if (rv & JK_STATUS_NEEDS_UPDATE_MULT) |
4406 |
/* Recalculate the load multiplicators wrt. lb_factor */ |
4407 |
update_mult(lb, l); |
4408 |
if (rc == JK_FALSE) { |
4419 |
if (rc == JK_FALSE) { |
4409 |
jk_log(l, JK_LOG_ERROR, |
4420 |
jk_log(l, JK_LOG_ERROR, |
4410 |
"Status worker '%s' failed updating sub worker '%s' (at least partially).%s", |
4421 |
"Status worker '%s' failed updating sub worker '%s' (at least partially).%s", |