mengw15 opened a new issue, #6932:
URL: https://github.com/apache/texera/issues/6932
### Task Summary
Part of #6870. The backend that lets a user manage warehouses and pick one
for a run. Everything
here is gated by `warehousesEnabled`, so it stays invisible while the flag
is off.
- **Warehouse management API** — REST endpoints on the central web service
(`WarehouseResource`,
registered in `TexeraWebApplication`): list your warehouses + the flag
state
(`GET /warehouse/status`), create one (`POST /warehouse`, Local/MinIO
flavor here), delete one
(`DELETE /warehouse/{whid}`). Guards return `403` when the flag is off.
- **Lakekeeper management client** — a new `LakekeeperClient` that creates
the warehouse via
Lakekeeper's **management API**, and deletes it **empty-first**
(Lakekeeper refuses to drop a
non-empty warehouse): drop each table with `purgeRequested=false` → drop
namespaces → delete the
warehouse, so the **S3 data files are kept**.
- **Per-execution warehouse resolution** —
`WorkflowService.resolveWarehouseName(whid, uid)` maps
the chosen `whid` to its warehouse name, checks the requesting user owns
it, and injects it into
the run's `WorkflowContext` — only when `warehousesEnabled`; otherwise
runs use the shared
default warehouse exactly as 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]