Values between 0 and 1 for maxIndexBuildMemoryUsageMegabytes set spiller memory limit to 0 instead of a fraction

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • ALL
    • Storage Execution 2026-05-25
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      When maxIndexBuildMemoryUsageMegabytes is set to a fractional value between 0 and 1 (which the code interprets as a percentage of total RAM), getTotalIndexBuildMaxMemoryUsageBytes() always returns 0 due to a variable shadowing bug: the inner size_t computedLimitBytes declaration on line 280 of multi_index_block.cpp shadows the outer one, so the computed percentage-based limit is never assigned to the variable that gets returned. This causes the sorter's memory limit to be set to 0 for any fractional parameter value, effectively breaking the percentage-based memory configuration path.

            Assignee:
            Malik Endsley
            Reporter:
            Malik Endsley
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: