Of course, the *real* fix is to make the scoreboard and its entire allocation something which is more callable/usable by modules, which is something we talked about several times and is like a major aspect of 3.0.
But the current discussion tries to somehow say that lb_score shouldn't "know" that it is really proxy_worker_stat which is totally bogus. It is. How big we need to make the scoreboard to account for all the workers (and whether they exist or not) does nothing to take away from the fact that the struct used by the scoreboard must define itself correctly before it even gets to say how many there are. In other words, that element of the struct *is* proxy_worker_stat, whether we build with mod_proxy or not. Until we allow more dynamic allocation of the scoreboard, I don't see why we just don't make that as clear as possible, use the known-at-compile time definition of proxy_worker_stat and stop trying to make the element opaque for no good reason (and gobbling up 1k when we need nothing close to that). All that being said, I'm fine with going back to the way it was before as long as we stop making lb_score a 1k array and reduce it to something much more realistic.