Skip to content

[BUG] Excessive memory usage for SPA where unload hooks keep accumulating #2311

Closed

Description

An issue has been identified with the tracking the removal of all events, timers and config tracking functions where an excessive number of unload hooks can accumulate in long running applications.

The primary identified culprit is that the getPerfMgr() function will ALWAYS add a new unload hook whenever no performance manager currently exists (either explicitly or via create perf manager config function) -- which is the default situation, and when called multiple times without any of the configuration they keep accumulating. The object created and stored is not large, so it takes quite a while (or a lot of events) for the problem to become visible.

And as part of our performance testing (to track for excessive memory usage), we actually "install" a performance manager -- which doesn't catch this edge case...

The identified getPerfMgr() case only exists in v3.x and was introduced as part of the dynamic configuration support as the watcher being accumulated is the configuration watcher to "handle" configuration changes.

This Issue affects the following versions

  • 3.0.0 -> 3.0.8
  • 3.1.0 -> 3.1.1

We will be publishing both a 3.0.9 and a 3.1.2 with a fix for this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions