-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Server Programmability
-
Fully Compatible
-
ALL
-
Programmability 2025-03-03, Programmability 2025-03-17
-
200
Compiling src/mongo/db/exec/sbe/stages/sort.cpp with gcc takes an extraordinary amount of memory, at around 3.5 GiB. This is enough to OoM the compiler intermittently.
https://jira.mongodb.org/browse/BF-36760
The pattern of including sorter.cpp at the bottom of a .cpp file should be eliminated.
It is a very unusual C++ idiom and should be unnecessary. This was attempted in SERVER-62056 but reverted, so we should try again.
The undeclared explicit template specializations that the #include...sorter.cpp pattern enables are not helping us. The same effect is achieved by renaming it to sorter_template_defs.h and including it selectively as we would any other header. The most important thing about sorter.cpp is that it is separated out from its public sorter.h header. As long as we preserve that separation we're ok.
- related to
-
SERVER-62056 Improve Sorter code structure
-
- Closed
-