Uploaded image for project: 'JBoss BPMS Platform'
  1. JBoss BPMS Platform
  2. RHBPMS-4859

[GSS](6.4.z) GlobalTimerService.timerJobsPerSession grows without bounds

    Details

    • Type: Bug
    • Status: Verified (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 6.4.4
    • Fix Version/s: 6.4.6
    • Component/s: jBPM Core
    • Labels:
      None
    • Environment:

      RHEL 6.8
      Oracle JDK 1.8.0_91l64
      EAP 7.0.4
      BPMS 6.4.1
      Oracle DB 11g

    • Fix Build:
      CR1
    • Steps to Reproduce:
      Hide

      Attached GlobalTimerServiceVolumeTest and IntermediateCatchEventTimerCycleWithHT3.bpmn2

      Run the Test, which used Quartz timer service, and starts an endless series of processes with 1D timers.

      GlobalTimerService shows growing retained heap over time, leading to eventual OOM

      Show
      Attached GlobalTimerServiceVolumeTest and IntermediateCatchEventTimerCycleWithHT3.bpmn2 Run the Test, which used Quartz timer service, and starts an endless series of processes with 1D timers. GlobalTimerService shows growing retained heap over time, leading to eventual OOM

      Description

      When running a process with a large number of long-lived timers and a large number of sessions, the GlobalTimerService.timerJobsPerSession map appears to grow without limit and dominates the Heap until an OOM condition occurs. Each job handle keeps a live reference to the Process Session, and takes up approximately 232kb. This adds up quickly when scaling to thousands of concurrent processes.

      Since the timers are long-lived, the sessions don't need to remain in memory. Is there any way to have the GlobalTimerService purge the mapping periodically? This is especially helpful when using external timer management, such as Quartz or EJB based timers, since the engine does not need to keep the timer data around to ensure proper firing.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  swiderski.maciej Maciej Swiderski
                  Reporter:
                  djeremiah David Murphy
                  Tester:
                  Marian Macik
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: