Poor performance of /entities endpoint on multi-version definitions

XMLWordPrintable

    • Type: Bug Report
    • Resolution: Fixed
    • Priority: L3 - Default
    • 3.2.0
    • Affects Version/s: None
    • Component/s: backend
    • None
    • Not defined

      Context:

      DefinitionReader.getDefinitionEngines is currently implemented in an inefficient way when there are multiple versions present for a particular definition as it does not set a limit for the search results entities and also sends it's request to the event process definition index, where engines are not relevant.

      Given:
      I have 500 reports based on definitions with many versions (e.g. 50)

      When:
      I query these reports via the /entities endpoint (private or collection based)

      Then:
      The response takes significantly longer than for definitions with just a single version (e.g. single version 4 seconds for 500 reports, 50 versions 60 seconds)

      Expected:
      The response time for 500 reports should not be bigger than 5 seconds. The count of definition versions should have nearly no impact on the report entities response time.

      AT:

      • DefinitionReader.getDefinitionEngines sets limit=0 to not return any search results as only the aggregation result is relevant
      • DefinitionReader.getDefinitionEngines is executed on the PROCESS_DEFINITION_INDEX_NAME only and not on the EVENT_PROCESS_DEFINITION_INDEX_NAME as only the first contains engine specific definitions
      • a performance test verifies the number of definition versions has no significant impact on the response time of the /entities endpoints

        This is the controller panel for Smart Panels app

              Assignee:
              Unassigned
              Reporter:
              Sebastian Bathke
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: