davecromberge opened a new pull request, #18861:
URL: https://github.com/apache/pinot/pull/18861

   **Description**
   
   Adds an additive ranged-read capability to the PinotFS SPI so callers can 
read a specific byte range of a file without downloading the whole object.
   
   - New default methods openForRead(URI uri, long offset, long length) and 
supportsRangedRead() on PinotFS. Defaults throw UnsupportedOperationException / 
return false, so all existing
     implementations remain source- and binary-compatible — no behavior change 
unless an implementation opts in.
   - LocalPinotFS: implemented via RandomAccessFile + a bounded stream that 
releases the file handle on close.
   - GcsPinotFS: implemented via ReadChannel.seek/limit (a single ranged GET, 
truncated at EOF).
   
   **Motivation**
   
   Enables targeted reads of file regions (e.g. Parquet footers and column 
chunks) for engines/plugins that query columnar data in place, avoiding 
full-object transfers.
   
   **Testing**
   
   LocalPinotFSTest covers mid-range, from-start, EOF truncation, zero-length, 
whole-file, and invalid-argument cases (runs in CI). GcsPinotFSTest adds a 
ranged-read case (credentials-gated, consistent with the existing GCS 
integration test).
   
   **PR Tags**
   
      1. `feature`
      2. `performance`
   
   **release-notes**:
   
   - Signature changes to public methods/interfaces
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to