Benedict Elliott Smith created CASSANDRA-20899:
--------------------------------------------------

             Summary: Lazy Virtual Tables
                 Key: CASSANDRA-20899
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20899
             Project: Apache Cassandra
          Issue Type: Improvement
          Components: Virtual Tables
            Reporter: Benedict Elliott Smith


Virtual tables construct their result eagerly by default, with no protection 
against time or heap overruns, which has proven to be a problem for some Accord 
debug virtual tables.

This patch introduces AbstractLazyVirtualTable that is just as easy to use 
(requires minimal porting), but:
 - aborts the query if it is taking too long
 - eagerly filters rows by any search criteria, and discards any columns we are 
not selecting 
 - eagerly applies limits to the records it collects, so that we never keep 
more than some multiple of the final result set in memory
 - supports lazy materialisation of rows (at caller's discretion), so we can 
avoid formatting inputs until they have been excluded by the above filters
 - can exploit in-order visitation to tightly bound this extra work



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to