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

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

              Created:
              Updated:
              Resolved: