Skip to content

More accurate memory accounting in external sort #14748

Description

@2010YOUY01

Is your feature request related to a problem or challenge?

#14644 fixed an external sorting bug. Each batch's memory overhead is estimated as 2 * batch memory size for the extra row conversion overhead. It works for common cases but still can fail. See #14644 (comment) and #14644 (comment).

To implement a more accurate memory size estimation for those edge cases, we can first do col->row conversion and measure the memory consumption. (depends on #7053)

Describe the solution you'd like

No response

Describe alternatives you've considered

No response

Additional context

No response

Activity

  1. 2010YOUY01 commented on Mar 5, 2025

    @2010YOUY01
    ContributorAuthor

    There is a small optimization can be done after we have accurate memory accounting #15017 (comment)

  2. alamb commented on Mar 12, 2025

    @alamb
    Contributor

    I wonder if this is ready to do now?

  3. 2010YOUY01 commented on Mar 13, 2025

    @2010YOUY01
    ContributorAuthor

    I wonder if this is ready to do now?

    Yes, I think so. However, this might cause a temporary slowdown due to an extra row <-> col conversion. Since the performance can be brought back by reusing converted rows between operators, and also I believe correctness is more important, this is not a hard blocker.
    I plan to work on this ticket in the future, but if anyone is available to take it now, please feel free.

  4. rluvaton commented on May 23, 2025

    @rluvaton
    Member

    This PR actually fix memory accounting: #15700

    Just need to answer the comments and add tests to prove that the memory accounting is consistent

  5. ding-young commented on Aug 4, 2025

    @ding-young
    Contributor

    take

  6. alamb commented on Jun 4, 2026

    @alamb
    Contributor

    I filed an epic with a bunch of related memory items to try and coordinate some response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions