Skip to content

Memory leak on RetrieveMultipleAsync #207

Closed
@meghuizen

Description

@meghuizen

I'm running a project in Azure Functions (v4 on .NET 6). This project interfaces with D365 through this library.
Within the project I'm doing calculations on 2,5 million of "transactions" (entities) and writing those totals and averages back to D365.

For that I'm currently using this library (version 0.5.10) and using RetrieveMultipleAsync to get all the items (batched).
Although what I saw happening that my memory build up, however the garbage collector didn't free up, when the objects where out of scope.
When I changed it to the non-async version, this didn't happen.

The items, on which it leaked, looked like internal "WCF" soap messages (BufferedMessages). This has probably to do with some async task scheduling and keeping the context in memory, though my knowledge on how async works is way too limited to give any usefull insights.

By the way, I was using the version without the cancellation token option.

See the attached screenshots for the results I got from the debugger:
image
image
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    InvestigatingWe are looking into this issue at this time.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions