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 memory leaks in functions part 1 (#2066) #2089

Merged

Conversation

jrgemignani
Copy link
Contributor

Fixing memory leaks in functions due to contexts not clearing out the memory soon enough.

Background: Destroying a context will free up its associated memory. However, before that happens, a process can still accumulate a lot of memory working on large data sets if it expects the context free to do it for it. For example, when PG does quicksort the context isn't destroyed until after the qs has finished. This can cause memory to be exhausted.

Put in more aggressive freeing of memory. However, there are a lot of areas that need this applied. So, this is part 1 of at least 3 or 4 parts.

Worked mainly on agtype.c However, dealt with linked functions in other files.

modified:   src/backend/utils/adt/age_vle.c
modified:   src/backend/utils/adt/agtype.c
modified:   src/backend/utils/adt/agtype_util.c
modified:   src/include/utils/agtype.h

Resolved Conflicts:
src/backend/utils/adt/agtype.c

Fixing memory leaks in functions due to contexts not clearing out
the memory soon enough.

Background: Destroying a context will free up its associated memory.
However, before that happens, a process can still accumulate a lot of
memory working on large data sets if it expects the context free to do
it for it. For example, when PG does quicksort the context isn't
destroyed until after the qs has finished. This can cause memory to be
exhausted.

Put in more aggressive freeing of memory. However, there are a lot of
areas that need this applied. So, this is part 1 of at least 3 or 4
parts.

Worked mainly on `agtype.c` However, dealt with linked functions in
other files.

    modified:   src/backend/utils/adt/age_vle.c
    modified:   src/backend/utils/adt/agtype.c
    modified:   src/backend/utils/adt/agtype_util.c
    modified:   src/include/utils/agtype.h

Resolved Conflicts:
	src/backend/utils/adt/agtype.c
@github-actions github-actions bot added PG12 PostgreSQL12 override-stale To keep issues/PRs untouched from stale action labels Sep 6, 2024
@MuhammadTahaNaveed MuhammadTahaNaveed merged commit c01e745 into apache:PG12 Sep 9, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
override-stale To keep issues/PRs untouched from stale action PG12 PostgreSQL12
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants