Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-888

Balancer actualization at runtime


    • User Experience

      There is an issue that balancer is created as soon as first worker joins. Data that first worker sends to undertow are used as building stones for balancer, all variables available to balancer are made at this time. Any other worker that connects later has no power above this variables.

      If you change workers at runtime, one by one, as long as at least one worker is still connected to the balancer, no change will be visible, even if all workers use new settings, balancer won't be changed. One needs to remove/change balancer to changes take place. This can be done in few ways. Reload/Restart balancer(EAP) or for more smooth way, one can create new balancer in each worker and as they reload, they join with new configuration under that new balancer, the rule that first one will create balancer is still valid for this approach.

      One must still keep in mind that first worker creates final representation of a balancer

      Apache httpd uses balancer actualization in a way that every new connected worker can change any balancer variables. In other words, the one that joins is the one that set new variables or configure the old ones. IMHO this is more intuitive for a user. Should/Could undertow use similar way to actualize balancer at runtime or it will be too much of an overload? Based on this Jira will be created documentation jira as this needs to be documented.

            sdouglas1@redhat.com Stuart Douglas
            bsikora Bogdan Sikora (Inactive)
            Jan Kašík Jan Kašík
            0 Vote for this issue
            1 Start watching this issue