Streaming data applications often face challenges with backpressure, which occurs when data is read faster than it can be processed, potentially leading to system crashes or performance issues. Traditional solutions involve managing data with a row group queue, where the number of row groups processed is limited to prevent memory overload. However, this approach can be complex, particularly in differentiating between file-based and compute-based batches. The Lance file reader introduces an innovative solution by separating I/O from decoding, using an I/O scheduler to manage data requests based on priority, and employing an I/O buffer sized in bytes rather than rows. This system allows for efficient backpressure management, especially important when dealing with cloud storage and variable-size data types. Despite challenges with prioritizing requests, Lance's system aims to optimize data processing without excessive memory usage. Future updates, like the upcoming Lance 2.1, seek to streamline these processes further, making backpressure configuration straightforward and effective.