Uploaded image for project: 'Red Hat Internal Developer Platform'
  1. Red Hat Internal Developer Platform
  2. RHIDP-3304

Investigate parallelizing the install-dynamic-plugins.py script

Prepare for Y ReleasePrepare for Z ReleaseRemove QuarterXMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • Performance
    • None
    • False
    • Hide

      None

      Show
      None
    • False

      The install-dynamic-plugins.py script processes the list of dynamic plugins serially which takes several minutes and will take longer as the list grows. 

      We should investigate using pythons thread-based parallelism to process the list and decrease the time it takes for the initContainer to complete and RHDH to come up. 

      The first step would be to see if the `npm pack` commands can be run at the same time or if they are doing anything that could cause some kind of race condition or overwriting of data as the plugins are unpacked.

      This section of code is, I think, what is taking the longest to execute: https://github.com/janus-idp/backstage-showcase/blob/main/docker/install-dynamic-plugins.py#L209-L300

      It also looks like we might be iterating over the list of plugins more than once in different sections of the code, maybe that can be condensed also as a Phase II task.

            Unassigned Unassigned
            cdaley Corey Daley
            RHIDP - Performance and Scaling
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: