Skip to content

High memory consumption after exceptions being thrown #474

@tovyhnal

Description

@tovyhnal

As suggested in here, we started using ServiceClient as singleton in our application. Recently we noticed, that our web application started occasionally failing with OutOfMemoryException.

We believe, this is connected with our migration to singleton ServiceClient.

I was able to repro this (high memory usage) locally, by requesting non-existing entity from DV, which resulted in exception being thrown in ServiceClient. After 10k of such iterations, memory grew to 1,4GB.

Image

I suspect, it is connected to DataverseTraceLogger and this code which add any thrown exception into internal list of exceptions. This can accumulate over days to size, which causes service to crash with OutOfMemoryException.

See below state of DataverseTraceLogger after ~400 exceptions thrown.
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions