sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothee Maret (JIRA)" <>
Subject [jira] [Commented] (SLING-7969) Memory leak in DiscoveryLiteDescriptor
Date Tue, 02 Oct 2018 08:15:00 GMT


Timothee Maret commented on SLING-7969:

> Memory leak in DiscoveryLiteDescriptor
> --------------------------------------
>                 Key: SLING-7969
>                 URL:
>             Project: Sling
>          Issue Type: Bug
>          Components: Discovery
>    Affects Versions: Discovery Commons 1.0.20
>            Reporter: Timothee Maret
>            Assignee: Timothee Maret
>            Priority: Major
>              Labels: discovery
> As identified in [~volteanu]'s adaptTo [presentation|],
it seems that Sling Discovery on Oak is consuming 42MB of RAM on a standard instance.
> Sling discovery deals with transient states (the views, leases, etc.) and is not caching
significant amount of data. The 42MB figure for the discovery feature seems like a symptom
of a memory leak.
> [~volteanu] shared in his presentation that the 42MB worth of RAM was mainly consumed
by a Json Factory reference. There is one static JsonReaderFactory in the discovery commons
module, in the [DiscoveryLiteDescriptor|].
> Looking at the code, it seems that each invocation of the [getDescriptorFrom|]
method creates a JSON reader but never close it. This may may leave resources behind as hinted
by the description of the [close|]
method in the API. AFAIK, the [getDescriptorFrom|] is
invoked periodically on a relatively high frequency (< seconds) which may be the trigger
for the leak on all instances.
> This is only a supposition for now, it should be investigated further, simply by running a
patched version of \{{}} that make sure each JSON reader
is properly closed.

This message was sent by Atlassian JIRA

View raw message