Description
Currently, Knox performs cluster configuration discovery via the CM API for every descriptor (on start-up or descriptor/provider changed), even if the descriptors reference the same cluster. This discovery can be expensive and doing it multiple times only to get the same data yields sub-optimal performance.
It will be better if Knox maintained a central record of the cluster configuration details, which could be referenced for every applicable descriptor, perhaps with some expiration of the validity of that record, such that multiple interactions with the CM API for the same cluster can be avoided. Not to mention, that Knox discovers all services found in the referenced cluster even if those services are not listed in any of the descriptors.
The associated cluster configuration monitoring functionality will also need to be modified to accommodate this new behavior.