Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
colbuilder: enforce unique memory monitor names
Our disk-spilling infrastructure (namely, `diskSpillerBase`) uses the name of the limited memory monitor of its in-memory operator in order to distinguish the "memory budget exceeded" errors between the ones it needs to catch and the ones it needs to propagate further. In particular, previously it was possible that the in-memory chains within two disk-backed sorters created for the external distinct (one in the fallback strategy and another when the output ordering is needed, on top of the external distinct) would have the same memory monitor names. This is now fixed by appending a unique suffix to all names and is enforced via an invariants assertion in the test setup. Note that even with the previous behavior no actual bug would occur because the monitors with the same name were on "different levels of the tree" and there was the correct catcher in-between. So this commit simply restores the assumption that we had implicitly without fixing any production bugs. Release note: None
- Loading branch information