Hi Richard,

There's a config option which is currently turned on in brooklyn (in the
scripts or setenv) -XX:*SoftRefLRUPolicyMSPerMB*=1

This was enabled because the garbage collection of soft references over
time caused increasing CPU usage, see: https://issues.apache.org/jira
/browse/BROOKLYN-375

This causes references to be removed possibly over enthusiastically but
avoids stability problems. I would imagine this value could be further
tuned, there's info on it here - http://www.oracle.com/technetwork/java/
hotspotfaq-138619.html#gc_softrefs

Fundamentally though, I think the way we are storing these references could
be improved, such as they could be persisted to disk.

Thanks

Duncan

On 17 May 2017 at 12:01, Thomas Bouron <[email protected]>
wrote:

> Hi Richard.
>
> I'm really happy that you bring this topic because it did happen to me in
> the past and becomes more and more frequent now that we are running
> Brooklyn in Karaf.
> AFAIK, the only way to get this information back is to scan the Brooklyn
> debug log but it neither easy or ideal. You could setup an ELK stack to
> process the logs but again, that means setup something external which we
> don't advocate for.
>
> From a personal point of view, I really think it's a big flaw in Brooklyn
> because:
>
>    1. you loose very important data over time
>    2. even worse, this data is not persisted so if you restart brooklyn,
>    it's just gone
>
> Typically, I would be wary to use it in production if I cannot quickly
> debug what is going on from the UI/CLI.
>
> I think that shipping Brooklyn with an embedded datastore would be a good
> solution to solve this. I would lean toward elasticsearch for this but we
> could choose something else (such as cassandra) if we want to be 100%
> Apache.
>
> Best.
>
> On Wed, 17 May 2017 at 11:41 Richard Downer <[email protected]> wrote:
>
> > I see to be seeing this:
> >
> > <contents-garbage-collected>
> >
> > a lot recently, when I inspect stdin/stdout/stderr of a failed task.
> Often
> > I never have a chance to see the contents even if I go to look at a
> failed
> > task as soon as it fails.
> >
> > Is there any way I can extend the availability of this data, or prevent
> it
> > from being garbage collected?
> >
> > Thanks
> > Richard
> >
> --
>
> Thomas Bouron • Senior Software Engineer @ Cloudsoft Corporation •
> https://cloudsoft.io/
> Github: https://github.com/tbouron
> Twitter: https://twitter.com/eltibouron
>

Reply via email to