Why querying upstream for every worker when balancer init

Here is the details ,

 local function create_balancer_exclusive(upstream, history, start)
    local health_threshold = upstream.healthchecks and
                              upstream.healthchecks.threshold or nil

    local balancer, err = balancer_types[upstream.algorithm].new({
      log_prefix = "upstream:" .. upstream.name,
      wheelSize = upstream.slots,  -- will be ignored by least-connections
      dns = dns_client,
      healthThreshold = health_threshold,
    if not balancer then
      return nil, "failed creating balancer:" .. err

    singletons.core_cache:invalidate_local("balancer:upstreams:" .. upstream.id)
    singletons.core_cache:invalidate_local("balancer:targets:" .. upstream.id)

    target_histories[balancer] = {}