Please take a loot at the below code. In SubQuery::calculateShuffleOutputNum() method, if-condition will be passed through the unexpected case if the plan is neither group by and join. In current implementation, distinct group-by operator can cause this case. Actually, the below code is messy. We need to directly handle distinct group by and clean up the below code.