subscription page unusable with many hosts registered
Description of problem:
If you have a satellite with a large number of hosts (perhaps 40K or more), the subscriptions page becomes unusable. It is reasonably fast to view the list of subs, but if you click one of the subscriptions, it can take hours for the page to return. Additionally, a large amount of memory is used by the passenger worker after this happens.
Steps to Reproduce:
1. register a large number of hosts, and have them all use the same pool
2. click subscriptions page, then click any subscription (doesn't have to be the sub with all the hosts)
Actual results: time for page to return is slower than pizza delivery, passenger worker uses multiple GB of memory when complete.
Expected results: page loads in under 5 seconds
Additional info: the refactor to the hosts method in https://github.com/Katello/katello/commit/440b51d54a020885d2680ce9edeef01b477a28b4#diff-457d74b9b2d0b6a2f062d4ea6b414d4b seems to help, in that it will only be slow when clicking the pool with all the hosts attached instead of any pool. However, if you click the pool with the hosts, it is very slow.
Fixes #19394 - Add host subscription association
Subscription endpoints will no longer return content host information.
This is now searchable through the host endpoint using
'subscription_name' key. This association is now stored in our
database. These changes will speed up subscription API call on
systems with alot of hosts registered.