Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-15508

Insight re-indexing causing High CPU utilisation due to continuous Full GC

XMLWordPrintable

      Issue Summary

      During the process of re-indexing Assets in Jira, it has been observed that data from the table AO_8542F1_IFJ_OBJ_JIRAISSUE is loaded into memory for processing. Over time, as the amount of data in the AO_8542F1_IFJ_OBJ_JIRAISSUE table increases, this can lead to excessive consumption of Java Heap space. Consequently, this causes Java Heap space exhaustion, which triggers continuous Full Garbage Collection (GC) cycles. These continuous Full GC cycles significantly degrade the performance of the node, eventually leading to the node becoming unresponsive and going down.
      The issue is observed when count in AO_8542F1_IFJ_OBJ_JIRAISSUE goes above and beyond millions like 40 million records

      This is reproducible on Data Center: (yes) / (no)

      Steps to Reproduce

      1. Populate the AO_8542F1_IFJ_OBJ_JIRAISSUE table with a large amount of data.
      2. Initiate the Assets re-indexing process.
      3. Monitor the Java Heap usage during the re-indexing process.
      4. Observe that as the re-indexing process progresses, the Java Heap space usage increases.
      5. Once the Java Heap space is exhausted, continuous Full GC cycles are triggered.
      6. The node's performance degrades until it becomes unresponsive and goes down.

      Expected Results

      The data from the AO_8542F1_IFJ_OBJ_JIRAISSUE table should be processed in a manner that optimizes memory usage, preventing Java Heap space exhaustion. The re-indexing process should complete without triggering continuous Full GC cycles or causing the node to go down.

      Actual Results

      Data from the AO_8542F1_IFJ_OBJ_JIRAISSUE table is loaded into memory in bulk, leading to Java Heap space exhaustion. Continuous Full GC cycles are triggered as a result of the Heap space exhaustion. The node eventually goes down due to the inability to recover from the Full GC cycles.

      Workaround

      Temporarily increase the Java Heap size to accommodate the growing data in the AO_8542F1_IFJ_OBJ_JIRAISSUE table. Though this is not a long-term solution as the data continues to grow.

              4efd9de64ab4 Mingyi Yang
              072fabfd41a3 Shreekesh Mohan
              Votes:
              3 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: