Description of problem:
Currently content host creation/registration indexes host collections and activation keys as part of its creation. This is extremely slow mainly due to the fact that the host collection's index in Elasticsearch stores the names of every content host associated. If there are thousands of systems in the collection this could take a long time. In addition, it is not using .pluck() to gather the names, its simply calling group.systems.map(&:name) which would be very slow given a large number of systems
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create an activation key and associate it to a host collection
2. Register 10,000 systems to the host collection, with a lot of concurrent registrations
Some registrations may take over 2 minutes, even timing out
Registrations should take less than 2 minutes
1. Included elastic search logging in production.log
2. Created a Host Collection
3. Associated the collection with an activation key
4. Registered multiple hosts with the key
production.log shows that elastic search no longer makes a call to ::host_collection
See attached file for more details.
RELEASE: Red Hat Enterprise Linux Server release 7.2 (Maipo)
RUBY: ruby 2.0.0p598 (2014-11-13) [x86_64-linux]
Created attachment 1097825 [details]
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.