Uploaded image for project: 'CloverDX'
  1. CloverDX
  2. CLO-13009

Server crashes when browsing huge execution history

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: rel-4-9-0
    • Component/s: Server
    • Security Level: Users (General product issues)
    • Labels:
    • Story Points:
      1
    • QA Testing:
      UNDECIDED
    • Sprint:
      Green Sprint 60, Green Sprint 61, Green Sprint 62

      Description

      I have a lot of executions in execution history (130 000).

      When I click in the tree browser in Execution history, it takes a long time and allocates a lot of memory on heap:

      This killed my server due to OutOfMemory errors.

      I've extracted the prepared statement that created those huge ResultSets:

      select runrecord0_.id as id1_15_, runrecord0_.dictionary_in_binary as dictiona2_15_, runrecord0_.dictionary_out_binary as dictiona3_15_, runrecord0_.err_exception as err_exce4_15_, runrecord0_.err_message as err_mess5_15_, runrecord0_.err_node as err_node6_15_, runrecord0_.err_node_type as err_node7_15_, runrecord0_.execution_group as executio8_15_, runrecord0_.execution_label as executio9_15_, runrecord0_.execution_type as executi10_15_, runrecord0_.graph_version as graph_v11_15_, runrecord0_.has_children as has_chi12_15_, runrecord0_.graph_id as graph_i13_15_, runrecord0_.job_type as job_typ14_15_, runrecord0_.log_location as log_loc15_15_, runrecord0_.node_id as node_id16_15_, runrecord0_.parameters_in_binary as paramet17_15_, runrecord0_.parent_run_id as parent_18_15_, runrecord0_.root_run_id as root_ru19_15_, runrecord0_.run_on_worker as run_on_20_15_, runrecord0_.sandbox_id as sandbox21_15_, runrecord0_.start_time as start_t22_15_, runrecord0_.final_status as final_s23_15_, runrecord0_.stop_time as stop_ti24_15_, runrecord0_.tracking_binary as trackin25_15_, runrecord0_.tracking_graph_id as trackin26_15_, runrecord0_.user_id as user_id27_15_ from run_record runrecord0_ where 1=1 and runrecord0_.node_id=? and runrecord0_.final_status=?
      

      It seems that ALL executions are loaded into memory (i.g. not just the one tree hierarchy). Is that necessary?

      Can we optimize the queries? Server should be able to survive no matter what.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                michalicaj Jano Michalica
                Reporter:
                salamonp Pavel Salamon
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: