Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
Impala 3.4.0
-
ghx-label-4
Description
BufferedTupleStream::DebugString() iterate std::list<Page> that can potentially grow very large. While most references to this method are behind DCHEK logging (thus stripped in release build), one of them is used to build Status message through call to GroupingAggregator::Partition::DebugString() at this line:
https://github.com/apache/impala/blob/5530b62/be/src/exec/grouping-aggregator-partition.cc#L155
IMPALA-9851 already cap error message to 128kb at most, but that does not eliminate the cost to iterate page list in BufferedTupleStream::DebugString().
We should limit number of page being iterated in this method to avoid unnecessary long string operation.