View | Details | Raw Unified | Return to bug 61733
Collapse All | Expand All

(-)a/native/common/jk_status.c (-6 / +17 lines)
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",

Return to bug 61733