Merged requested to merge 3801-reduce-memory-bloat-caused-by-delayed-view-detach-v9_16 into v9_16
The .view (and possibly .prev_view) would be kept attached to the
removed zone until the zone is fully removed from the memory in
zone_free(). If this process is delayed because server is busy
something else like doing constant
rndc reconfig, it could take
seconds to detach the view, possibly keeping multiple dead views in the
memory. This could quickly lead to a massive memory bloat.
Release the views early in the zone_shutdown() call, and don't wait until the zone is freed.
(cherry picked from commit 13bb8212)
Closes #3801 (closed)
Backport of MR !7382 (merged)