mengw15 opened a new issue, #6929:
URL: https://github.com/apache/texera/issues/6929

   ### Task Summary
   
   Foundation step of the per-user BYO-S3 warehouse feature (part of #6870). 
Today the storage layer
   only ever talks to one warehouse; this teaches it to handle several — 
without changing any
   behavior yet.
   
   - **Per-warehouse REST catalog cache.** The Iceberg catalog client — which 
resolves tables and
     reads/writes their metadata against Lakekeeper — is today a single shared 
instance
     (`IcebergCatalogInstance` on the JVM, `iceberg_catalog_instance.py` for 
Python workers). Turn it
     into a cache **keyed by warehouse name**, so one worker process can hold 
several REST catalogs at
     once, one per warehouse it touches. Only the REST (Lakekeeper) catalog 
varies by warehouse; the
     hadoop/postgres catalogs stay warehouse-agnostic and keep sharing one. 
`getInstance(warehouse)`
     falls back to the configured default when no warehouse is given.
   - **Warehouse-scoped storage URIs.** Every stored result is identified by an 
internal VFS URI (a
     path). Add the warehouse name as a leading `/wh/<name>` segment so the URI 
itself says which
     warehouse the data lives in; the reader parses it back out 
(`VFSURIFactory.warehouseFromURI`) and
     `DocumentFactory` opens the matching catalog. When the segment is absent, 
the URI is
     byte-for-byte identical to today's — existing data and behavior are 
untouched.
   - **Per-execution warehouse in the context.** Add a `warehouse: 
Option[String]` field to
     `WorkflowContext` so the selected warehouse flows from the request down to 
the workers.
   
   Backward-compatible no-op: with no warehouse selected (the default), the 
catalog and URIs behave
   exactly as they do today.
   
   ### Task Type
   - [x] Other (feature implementation)
   


-- 
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]

Reply via email to