The GitHub Actions job "Required Checks" on 
texera.git/gh-readonly-queue/main/pr-6853-38d94ead0ec267fb205857d16b61a1eed36172df
 has failed.
Run started by GitHub user kunwp1 (triggered by kunwp1).

Head commit for run:
83b004230d627f2cc4faf7e6f5f7bbe84e88de04 / Kunwoo (Chris) 
<[email protected]>
refactor(computing-unit-managing-service): share CU listing helpers and batch 
k8s calls (#6853)

### What changes were proposed in this PR?

Refactor the per-user computing-unit listing so its status/metrics logic
lives in one reusable place and hits Kubernetes in bulk. No API response
changes; this is groundwork for the admin listing endpoint (stacked
follow-up PR).

- Centralize listing logic in `ComputingUnitHelpers`
(`resolveOwnerInfo`, `partitionLiveUnits`,
`reconcileVanishedKubernetesUnits`, `buildDashboardUnit`, plus the
`isKubernetes` / `podPhasesFor` / `podMetricsFor` guards), and remove
the duplicated private status/metrics helpers from
`ComputingUnitManagingResource`.
- Add bulk `KubernetesClient.getAllPodPhases` / `getAllPodMetrics` (one
namespace-wide `list()` / `top()` each) and a shared `containerUsage`
helper; `listComputingUnits` now resolves pod status/metrics in bulk
instead of probing pod existence twice per unit and re-fetching `top()`
per unit.
- Per-user reconciliation now runs over cuid-deduplicated units,
reducing redundant DB updates.
- Add a package-private `KubernetesClient` test seam
(`setClientForTesting`) so the fabric8 client can be stubbed in tests;
unused in production.

### Any related issues, documentation, discussions?

Part of #6476 (Admin Computing Units Dashboard); prepares the shared
listing helpers reused by the admin endpoint in the stacked follow-up.
Originates from discussion #6322.

### How was this PR tested?

Added `ComputingUnitManagingResourceSpec` and extended
`ComputingUnitHelpersSpec` / `KubernetesClientSpec` (embedded Postgres
via `MockTexeraDB`; stubbed fabric8 client for the bulk k8s paths).

Ran `sbt 'ComputingUnitManagingService/testOnly
org.apache.texera.service.util.ComputingUnitHelpersSpec
org.apache.texera.service.util.KubernetesClientSpec
org.apache.texera.service.resource.ComputingUnitManagingResourceSpec'`
(34 tests, all green) and `sbt
'ComputingUnitManagingService/scalafmtCheck;
ComputingUnitManagingService/Test/scalafmtCheck'` (clean).

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code, Claude Opus 4.8

---------

Signed-off-by: Kunwoo (Chris) <[email protected]>
Co-authored-by: Copilot Autofix powered by AI 
<[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/30190860765

With regards,
GitHub Actions via GitBox

Reply via email to