Large amount of in-view zones, task pools and memory contexts
When using in-view zones excessively bind seems to make no distinction between "actual" zones and zones just referenced elsewhere through "in-view".
This manifests, for example, when implementing GeoDNS via views and in-view. With only 178 distinct zone files loaded, bind allocates task pools for 25690 zones in a setup I am administrating. In this setup there is a baseline zone file in a "fallback" view for each zone, with additional zone files in country-specific views for GeoDNS targeting, where required. If a zone does not carry any country-specific information, the country-specific view references the fallback via "in-view".
However, the basis for the calculation of required task pools and memory contexts is the number of zones in all views, regardless of the fact that a zone might be referenced via "in-view".
Correct me if I am wrong, but shouldn't bind only count distinct zones, factoring in when they are referenced via "in-view"?
Affected bind versions are 9.10.x up to at least 9.12.1, when having a look at bind/named/server.c (load_configuration) and the calculation of the number of zones via count_zones there.