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

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

@github-actions github-actions bot added master override-stale To keep issues/PRs untouched from stale action labels Aug 21, 2024
@jrgemignani jrgemignani force-pushed the fix_function_memory_leaks_part1 branch from a05858c to 42905d1 Compare August 22, 2024 22:49
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
@jrgemignani jrgemignani force-pushed the fix_function_memory_leaks_part1 branch from 42905d1 to bf5fb95 Compare August 23, 2024 20:27
Copy link
Member

@MuhammadTahaNaveed MuhammadTahaNaveed left a comment

Choose a reason for hiding this comment

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

Looks good to me!

@MuhammadTahaNaveed MuhammadTahaNaveed merged commit 9c0960e into apache:master Aug 26, 2024
7 checks passed
jrgemignani added a commit to jrgemignani/age that referenced this pull request Sep 6, 2024
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
jrgemignani added a commit to jrgemignani/age that referenced this pull request Sep 6, 2024
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
jrgemignani added a commit to jrgemignani/age that referenced this pull request Sep 6, 2024
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
jrgemignani added a commit to jrgemignani/age that referenced this pull request Sep 6, 2024
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
jrgemignani added a commit to jrgemignani/age that referenced this pull request Sep 6, 2024
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
jrgemignani added a commit to jrgemignani/age that referenced this pull request Sep 6, 2024
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
MuhammadTahaNaveed pushed a commit that referenced this pull request Sep 9, 2024
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
MuhammadTahaNaveed pushed a commit that referenced this pull request Sep 9, 2024
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
MuhammadTahaNaveed pushed a commit that referenced this pull request Sep 9, 2024
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
MuhammadTahaNaveed pushed a commit that referenced this pull request Sep 9, 2024
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
MuhammadTahaNaveed pushed a commit that referenced this pull request Sep 9, 2024
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
MuhammadTahaNaveed pushed a commit that referenced this pull request Sep 9, 2024
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
master override-stale To keep issues/PRs untouched from stale action
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants