Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for the memory leak when multiple batch runs are triggered #807

Merged
merged 3 commits into from
Sep 11, 2023

Conversation

chandrashekar-s
Copy link
Collaborator

@chandrashekar-s chandrashekar-s commented Sep 8, 2023

The default glibc memory allocator is creating memory fragmentations and not returning memory to kernel gracefully (please refer to glibc bugzilla and glibc manual). This is replaced by the jemalloc allocator which avoids such problems.

Refer #777 for more details

Description of what I changed

E2E test

TESTED:

Tested the application before and after the changes, the screenshot below shows that the memory is not increasing with each batch run after the fix.

Memory Stats

Checklist: I completed these to help reviewers :)

  • I have read and will follow the review process.

  • I am familiar with Google Style Guides for the language I have coded in.

    No? Please take some time and review Java and Python style guides.

  • My IDE is configured to follow the Google code styles.

    No? Unsure? -> configure your IDE.

  • I have added tests to cover my changes. (If you refactored existing code that was well tested you do not have to add tests)

  • I ran mvn clean package right before creating this pull request and added all formatting changes to my commit.

  • All new and existing tests passed.

  • My pull request is based on the latest changes of the master branch.

    No? Unsure? -> execute command git pull --rebase upstream master

The default glibc memory allocator is created memory fragmentations and is causing the off-heap memory of the application to grow indefinitly. This is replaced by the jemalloc allocator which avoids such problems.

Refer google#777 for more details
Copy link
Collaborator

@bashir2 bashir2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @chandrashekar-s for this fix. Please feel free to merge after addressing minor comments below.

docker-entrypoint.sh Outdated Show resolved Hide resolved
docker-entrypoint.sh Show resolved Hide resolved
The default glibc memory allocator is created memory fragmentations and is causing the off-heap memory of the application to grow indefinitly. This is replaced by the jemalloc allocator which avoids such problems.

Refer google#777 for more details
docker-entrypoint.sh Outdated Show resolved Hide resolved
docker-entrypoint.sh Show resolved Hide resolved
@chandrashekar-s
Copy link
Collaborator Author

@bashir2 Thanks for the review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants