Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
Impala 2.3.0
Description
The BufferedTupleStream::GetRows() API returns all of the rows from a pinned stream in a single row batch. This is not a very good API, particularly if we wish to simplify memory management because it can result in creating an arbitrarily large RowBatch. This comes with unbounded memory overhead for tuple pointers, and has potential to cause problems in code that does not anticipate very large batches.
Instead we should convert callsites to call BufferedTupleStream::GetNext() and process a batch at a time.