Project

General

Profile

Actions

Bug #23608

closed

ENC with smart class parameters is slow (regression with 1.16)

Added by Bastian Blank almost 6 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Fixed in Releases:
Found in Releases:

Description

If a host uses a lot of smart class parameters (50+), running the ENC gets awful slow. Runtimes of 10 or more seconds have been reported. The runtime grows linear with the number of parameters.

Classification::ValuesHashQuery#values_hash is used to retrieve all the parameters used in the ENC. For each key this method calls lookup_values_cache with the same parameters. The called method assembles a database query, which is pretty slow, even if it never shows up in the ActiveRecord time and just runs against the cache.

The simple fix just calculates the result of lookup_values_cache once.

However I'm not sure if this code is even correct now, as different parameters can have different orders.

Actions #1

Updated by The Foreman Bot almost 6 years ago

  • Pull request https://github.com/theforeman/foreman/pull/5583 added
Actions #2

Updated by The Foreman Bot almost 6 years ago

  • Status changed from New to Ready For Testing
Actions #3

Updated by Anonymous almost 6 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
Actions #4

Updated by The Foreman Bot almost 6 years ago

  • Assignee set to Anonymous
  • Pull request https://github.com/theforeman/foreman/pull/5602 added
Actions #5

Updated by Marek Hulán almost 6 years ago

  • translation missing: en.field_release set to 359
Actions #6

Updated by Ewoud Kohl van Wijngaarden over 5 years ago

  • Triaged set to No
  • Fixed in Releases 1.16.2, 1.17.2 added
  • Found in Releases 1.16.1 added
Actions

Also available in: Atom PDF