Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.17.0
-
None
-
None
Description
Drill provides a web console to run queries. Query results appear as HTML pages. Drill buffers the query results in-memory to build the page. The current approach has two problems (in addition to the overhead of buffering):
- To move each batch from Screen to the REST client, we serialize all vectors into a single large buffer, then recreate the individual vectors.
- The code appends column names and metadata for each batch. For a multi-batch query, we end up with lists that contain many copies of the same data.
This change modifies the internal plumbing to transfer a record batch from Screen to REST without copying.