Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Release justification: bug fixes and low-risk updates to new functionality. This commit fixes the resetting behavior of inputPartitioningOperator (used by the external sort to figure out when to start a new partition when spilling the input) that was recently broken when we added the fallback from the external hash joiner to external sort plus merge joiner. The complication here is that we need two kinds of behaviors when inputPartitioningOperator is being reset: 1. ("shallow" reset) we need to clear the memory account because the external sorter is moving on spilling the data into a new partition. However, we *cannot* propagate the reset further up because it might delete the data that the external sorter has not yet spilled. This behavior is needed in externalSorter when resetting the in-memory sorter when spilling the next "chunk" of data into the new partition. 2. ("deep" reset) we need to do the full reset of the whole chain of operators. This behavior is needed when the whole external sorter is being reset. Release note: None.
- Loading branch information