Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-1760

Tooling to find the real root cause culprit of memory leaks related to non-closed transactions (and tx chains)

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Done
    • None
    • Carbon
    • mdsal
    • None
    • Operating System: All
      Platform: All

      CONTROLLER-1756 (and derived OPNFLWPLUG-933) made me realize that we really do need some sort of "tooling" to be able to find the real root cause culprit of memory leaks related to non-closed transactions (and tx chains) ...

      Originally, I thought that one can find this in HPROF heap dumps, but thinking this through further after Tom's reply on https://lists.opendaylight.org/pipermail/mdsal-dev/2017-August/001323.html and a comment from Robert on IRC, I realized that of course you actually cannot - the "left over" (non closed) transactions piling up on the heap obviously don't have any trace anymore to where they where originally created - thus where the origin of the leak is, that must be bug fixed, is "lost", at that point.

      It turns out that the mdsal-trace feature in controller already has a useful basis for such a feature (which is a debug utility, not something we would want in production), and I've started to work on this in:

      As this currently stand, there's a chance (hope) that OPNFLWPLUG-933 fixes the root cause for CONTROLLER-1756 - but if we have this utility, we can be sure that is the one, and we can find other non-closed transaction leaks, today and in the future. Therefore I'd like to create this tool independent of CONTROLLER-1756 and OPNFLWPLUG-933 (and am thus creating this new separate bugzilla issue).

            Unassigned Unassigned
            vorburger Michael Vorburger
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: