You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@texera.apache.org by "kunwp1 (via GitHub)" <gi...@apache.org> on 2026/10/14 17:26:36 UTC

[PR] feat(computing-unit): add admin cluster capacity endpoint [texera]

kunwp1 opened a new pull request, #8986:
URL: https://github.com/apache/texera/pull/8986

   ### What changes were proposed in this PR?
   
   Problem. When a computing unit fails to start because the cluster is full, an admin cannot see from the app how much of the cluster is left (#6476), and the cluster capacity panel (#6482) has nothing to show. The backend only lists pods in the computing-unit pool namespace and never reads node capacity.
   
   Fix. Adds `GET /api/computing-unit/admin/cluster-capacity` (ADMIN only), which returns `total`, `allocated` and `available` for CPU (millicores), memory (bytes) and GPU (devices). `total` is the allocatable of every Ready, uncordoned node, and `allocated` is the requests of the pods running on them in every namespace, with init containers and runtime-class overhead counted the way kube-scheduler counts them. That is the figure `kubectl describe node` reports as "Allocated resources", so `available` bounds what a new unit can claim. Live usage from metrics-server is not used because it reads below what is committed and has no GPU metric. The pod list is narrowed on the API server to pods that have not finished, so a cluster that keeps many finished pods does not ship them all. On a deployment without Kubernetes computing units it answers 404, and a Kubernetes API failure comes back with the cluster's own message.
   
   Nodes are cluster-scoped, so the chart adds a ClusterRole that can only `list` `nodes` and `pods`, bound to the computing unit manager's service account. This is the one new permission: the manager can now list pods in every namespace, where it could previously see only its own pool.
   
   ```
   Before:  admin sees a unit stuck Pending -> kubectl describe nodes -> adds up the requests by hand
   After:   admin sees a unit stuck Pending -> GET /computing-unit/admin/cluster-capacity -> available CPU, memory, GPU
   ```
   
   Not included. The panel that shows it (#6482) and telling the owner on terminate (#6483). `available` is an upper bound, not a go or no-go: it sums across nodes, so capacity spread thinly over many nodes can still refuse a unit that needs one node's worth, and it ignores the pool's ResourceQuota, node placement (taints, node selectors, runtime-class scheduling), pod-level resources and native sidecars. The ClusterRole is unconditional, with no chart value to turn it off.
   
   ### Any related issues, documentation, discussions?
   
   Closes #6481. Part of #6476.
   
   Feeds the panel in #6482 and follows #8888, which added the page.
   
   ### How was this PR tested?
   
   Tests were added for the aggregation, the client wrapper, the guard and the endpoint. They cover node and pod filtering (cordoned, not Ready, no Ready condition, no status, unbound pods, finished pods), the effective-request rule (container sum, init containers, overhead, containers with no resources), decimal and fractional quantities, a custom GPU resource key, `available` floored at zero, the wrapper reading nodes and the unfinished pods of every namespace, the 404 on a non-Kubernetes deployment, a Kubernetes failure keeping its message, and the JSON field names the panel will read. The tests were written first and watched fail on a stub, apart from the JSON field-name test, which pins the response shape. Breaking the aggregation on purpose (finished pods counted, init containers summed instead of maxed, no floor at zero, a not-Ready node counted, a cordoned node counted, overhead dropped) turns at least one test red each time.
   
   ```
   sbt "ComputingUnitManagingService/testOnly org.apache.texera.service.util.ClusterCapacitySpec org.apache.texera.service.util.KubernetesClientSpec org.apache.texera.service.util.ComputingUnitHelpersSpec org.apache.texera.service.resource.AdminComputingUnitResourceSpec"
   sbt "ComputingUnitManagingService/test"
   ```
   
   The first command passes 107 tests and the second passes 289. `scalafmtCheckAll` and `scalafixAll --check` ran clean. The ClusterRole was checked by rendering its template alone with `helm template` against the chart's `values.yaml` (rendering the whole chart needs its subcharts downloaded) and asserting it grants exactly `list` on `nodes` and `pods` and is bound to the manager's service account, and `bin/k8s/tests/test_helm_values.sh` passes. Not exercised: a live Kubernetes cluster, since the local stack has none, so the Kubernetes calls are only checked against a stubbed client, and the endpoint over HTTP.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code, Claude Sonnet 5.5
   


-- 
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: notifications-unsubscribe@texera.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat(computing-unit): add admin cluster capacity endpoint [texera]

Posted by "kunwp1 (via GitHub)" <gi...@apache.org>.
kunwp1 commented on code in PR #8986:
URL: https://github.com/apache/texera/pull/8986#discussion_r4370007023


##########
bin/k8s/templates/base/workflow-computing-unit-manager/workflow-computing-unit-manager-service-account.yaml:
##########
@@ -63,3 +63,30 @@ roleRef:
   kind: Role
   name: {{ .Values.workflowComputingUnitManager.name }}
   apiGroup: rbac.authorization.k8s.io
+
+---
+# Read-only and cluster-wide for the admin cluster-capacity endpoint: nodes are cluster-scoped and
+# every namespace's pods take their capacity, so the namespaced Role above cannot cover it.
+# Named for the release because a ClusterRole is cluster-scoped.
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+  name: {{ .Release.Name }}-{{ .Values.workflowComputingUnitManager.name }}-cluster-capacity

Review Comment:
   Thank you for the comments! I applied the suggestions.



-- 
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: notifications-unsubscribe@texera.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat(computing-unit): add admin cluster capacity endpoint [texera]

Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #8986:
URL: https://github.com/apache/texera/pull/8986#issuecomment-6179488341

   ## [Codecov](https://app.codecov.io/gh/apache/texera/pull/8986?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :x: Patch coverage is `91.83673%` with `4 lines` in your changes missing coverage. Please review.
   :white_check_mark: Project coverage is 92.62%. Comparing base ([`a182a23`](https://app.codecov.io/gh/apache/texera/commit/a182a23e31f08e4f14d0d0beb405feb84f1e0431?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`ad6bd0d`](https://app.codecov.io/gh/apache/texera/commit/ad6bd0df3d4e7f0121adbdf413e9fd7f05d07602?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 4 commits behind head on main.
   
   | [Files with missing lines](https://app.codecov.io/gh/apache/texera/pull/8986?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
   |---|---|---|
   | [...g/apache/texera/service/util/ClusterCapacity.scala](https://app.codecov.io/gh/apache/texera/pull/8986?src=pr&el=tree&filepath=computing-unit-managing-service%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Ftexera%2Fservice%2Futil%2FClusterCapacity.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29tcHV0aW5nLXVuaXQtbWFuYWdpbmctc2VydmljZS9zcmMvbWFpbi9zY2FsYS9vcmcvYXBhY2hlL3RleGVyYS9zZXJ2aWNlL3V0aWwvQ2x1c3RlckNhcGFjaXR5LnNjYWxh) | 94.28% | [0 Missing and 2 partials :warning: ](https://app.codecov.io/gh/apache/texera/pull/8986?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [.../service/resource/AdminComputingUnitResource.scala](https://app.codecov.io/gh/apache/texera/pull/8986?src=pr&el=tree&filepath=computing-unit-managing-service%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Ftexera%2Fservice%2Fresource%2FAdminComputingUnitResource.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29tcHV0aW5nLXVuaXQtbWFuYWdpbmctc2VydmljZS9zcmMvbWFpbi9zY2FsYS9vcmcvYXBhY2hlL3RleGVyYS9zZXJ2aWNlL3Jlc291cmNlL0FkbWluQ29tcHV0aW5nVW5pdFJlc291cmNlLnNjYWxh) | 0.00% | [1 Missing :warning: ](https://app.codecov.io/gh/apache/texera/pull/8986?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [...che/texera/service/util/ComputingUnitHelpers.scala](https://app.codecov.io/gh/apache/texera/pull/8986?src=pr&el=tree&filepath=computing-unit-managing-service%2Fsrc%2Fmain%2Fscala%2Forg%2Fapache%2Ftexera%2Fservice%2Futil%2FComputingUnitHelpers.scala&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29tcHV0aW5nLXVuaXQtbWFuYWdpbmctc2VydmljZS9zcmMvbWFpbi9zY2FsYS9vcmcvYXBhY2hlL3RleGVyYS9zZXJ2aWNlL3V0aWwvQ29tcHV0aW5nVW5pdEhlbHBlcnMuc2NhbGE=) | 83.33% | [1 Missing :warning: ](https://app.codecov.io/gh/apache/texera/pull/8986?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@             Coverage Diff              @@
   ##               main    #8986      +/-   ##
   ============================================
   - Coverage     92.62%   92.62%   -0.01%     
   - Complexity     5060     5062       +2     
   ============================================
     Files          1258     1259       +1     
     Lines         53791    53840      +49     
     Branches       6707     6710       +3     
   ============================================
   + Hits          49824    49869      +45     
   - Misses         2313     2315       +2     
   - Partials       1654     1656       +2     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | | *Carryforward flag |
   |---|---|---|---|
   | [access-control-service](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `77.38% <ø> (ø)` | | Carriedforward from [a182a23](https://app.codecov.io/gh/apache/texera/commit/a182a23e31f08e4f14d0d0beb405feb84f1e0431?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [agent-service](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `99.16% <ø> (ø)` | | Carriedforward from [a182a23](https://app.codecov.io/gh/apache/texera/commit/a182a23e31f08e4f14d0d0beb405feb84f1e0431?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [amber](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `88.11% <ø> (ø)` | | Carriedforward from [a182a23](https://app.codecov.io/gh/apache/texera/commit/a182a23e31f08e4f14d0d0beb405feb84f1e0431?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [computing-unit-managing-service](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `61.81% <91.83%> (+1.32%)` | :arrow_up: | |
   | [config-service](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `87.37% <ø> (ø)` | | |
   | [file-service](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `82.00% <ø> (ø)` | | Carriedforward from [a182a23](https://app.codecov.io/gh/apache/texera/commit/a182a23e31f08e4f14d0d0beb405feb84f1e0431?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [frontend](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `96.60% <ø> (ø)` | | Carriedforward from [a182a23](https://app.codecov.io/gh/apache/texera/commit/a182a23e31f08e4f14d0d0beb405feb84f1e0431?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [notebook-migration-service](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `83.73% <ø> (ø)` | | Carriedforward from [a182a23](https://app.codecov.io/gh/apache/texera/commit/a182a23e31f08e4f14d0d0beb405feb84f1e0431?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [pyamber](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `98.58% <ø> (ø)` | | Carriedforward from [a182a23](https://app.codecov.io/gh/apache/texera/commit/a182a23e31f08e4f14d0d0beb405feb84f1e0431?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [workflow-compiling-service](https://app.codecov.io/gh/apache/texera/pull/8986/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `74.09% <ø> (ø)` | | Carriedforward from [a182a23](https://app.codecov.io/gh/apache/texera/commit/a182a23e31f08e4f14d0d0beb405feb84f1e0431?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   
   *This pull request uses carry forward flags. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) to find out more.
   </details>
   
   [:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/texera/pull/8986?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).   
   :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>


-- 
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: notifications-unsubscribe@texera.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat(computing-unit): add admin cluster capacity endpoint [texera]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #8986:
URL: https://github.com/apache/texera/pull/8986#issuecomment-6175280785

   <!-- texera-reviewer-suggestion -->
   ### Automated Reviewer Suggestions
   
   Based on the `git blame` history of the changed files, we recommend the following reviewers:
   
   - **Contributors with relevant context:** `@eugenegujing`, `@tanishqgandhi1908`, `@dzueck`
     You can notify them by mentioning `@eugenegujing`, `@tanishqgandhi1908`, `@dzueck` in a comment.
   


-- 
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: notifications-unsubscribe@texera.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat(computing-unit): add admin cluster capacity endpoint [texera]

Posted by "kunwp1 (via GitHub)" <gi...@apache.org>.
kunwp1 merged PR #8986:
URL: https://github.com/apache/texera/pull/8986


-- 
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: notifications-unsubscribe@texera.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat(computing-unit): add admin cluster capacity endpoint [texera]

Posted by "kunwp1 (via GitHub)" <gi...@apache.org>.
kunwp1 commented on PR #8986:
URL: https://github.com/apache/texera/pull/8986#issuecomment-6175078054

   /request-review @aicam 


-- 
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: notifications-unsubscribe@texera.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat(computing-unit): add admin cluster capacity endpoint [texera]

Posted by "aicam (via GitHub)" <gi...@apache.org>.
aicam commented on code in PR #8986:
URL: https://github.com/apache/texera/pull/8986#discussion_r4365611811


##########
bin/k8s/templates/base/workflow-computing-unit-manager/workflow-computing-unit-manager-service-account.yaml:
##########
@@ -63,3 +63,30 @@ roleRef:
   kind: Role
   name: {{ .Values.workflowComputingUnitManager.name }}
   apiGroup: rbac.authorization.k8s.io
+
+---
+# Read-only and cluster-wide for the admin cluster-capacity endpoint: nodes are cluster-scoped and
+# every namespace's pods take their capacity, so the namespaced Role above cannot cover it.
+# Named for the release because a ClusterRole is cluster-scoped.
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+  name: {{ .Release.Name }}-{{ .Values.workflowComputingUnitManager.name }}-cluster-capacity

Review Comment:
   ClusterRole and ClusterRoleBinding are cluster-scoped, so their names must be unique across the whole cluster, but Helm release names are only unique per namespace. Two releases with the same name in different namespaces (e.g. `helm install texera -n team-a` and `helm install texera -n team-b`) render the same name here, and the second install fails:
   
   ```
   Error: ClusterRole "texera-...-cluster-capacity" exists and cannot be imported into the current release:
   invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-namespace" must equal "team-b": current value is "team-a"
   ```
   
   Even if forced through, both releases would share one object, and uninstalling either would delete it and break the other's capacity endpoint (403).
   
   Including `.Release.Namespace` makes the name unique per release. The same change is needed on the ClusterRoleBinding name and its `roleRef.name` (suggestions below), and the comment on line 70 could say "Named for the release and its namespace".
   
   ```suggestion
     name: {{ .Release.Name }}-{{ .Release.Namespace }}-{{ .Values.workflowComputingUnitManager.name }}-cluster-capacity
   ```



##########
bin/k8s/templates/base/workflow-computing-unit-manager/workflow-computing-unit-manager-service-account.yaml:
##########
@@ -63,3 +63,30 @@ roleRef:
   kind: Role
   name: {{ .Values.workflowComputingUnitManager.name }}
   apiGroup: rbac.authorization.k8s.io
+
+---
+# Read-only and cluster-wide for the admin cluster-capacity endpoint: nodes are cluster-scoped and
+# every namespace's pods take their capacity, so the namespaced Role above cannot cover it.
+# Named for the release because a ClusterRole is cluster-scoped.
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+  name: {{ .Release.Name }}-{{ .Values.workflowComputingUnitManager.name }}-cluster-capacity
+rules:
+  - apiGroups: [""]
+    resources: ["nodes", "pods"]
+    verbs: ["list"]
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+  name: {{ .Release.Name }}-{{ .Values.workflowComputingUnitManager.name }}-cluster-capacity

Review Comment:
   Same fix here so the names stay in sync.
   
   ```suggestion
     name: {{ .Release.Name }}-{{ .Release.Namespace }}-{{ .Values.workflowComputingUnitManager.name }}-cluster-capacity
   ```



##########
bin/k8s/templates/base/workflow-computing-unit-manager/workflow-computing-unit-manager-service-account.yaml:
##########
@@ -63,3 +63,30 @@ roleRef:
   kind: Role
   name: {{ .Values.workflowComputingUnitManager.name }}
   apiGroup: rbac.authorization.k8s.io
+
+---
+# Read-only and cluster-wide for the admin cluster-capacity endpoint: nodes are cluster-scoped and
+# every namespace's pods take their capacity, so the namespaced Role above cannot cover it.
+# Named for the release because a ClusterRole is cluster-scoped.
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+  name: {{ .Release.Name }}-{{ .Values.workflowComputingUnitManager.name }}-cluster-capacity
+rules:
+  - apiGroups: [""]
+    resources: ["nodes", "pods"]
+    verbs: ["list"]
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+  name: {{ .Release.Name }}-{{ .Values.workflowComputingUnitManager.name }}-cluster-capacity
+subjects:
+  - kind: ServiceAccount
+    name: {{ .Values.workflowComputingUnitManager.serviceAccountName }}
+    namespace: {{ .Release.Namespace }}
+roleRef:
+  kind: ClusterRole
+  name: {{ .Release.Name }}-{{ .Values.workflowComputingUnitManager.name }}-cluster-capacity

Review Comment:
   Same fix here so the names stay in sync.
   
   ```suggestion
     name: {{ .Release.Name }}-{{ .Release.Namespace }}-{{ .Values.workflowComputingUnitManager.name }}-cluster-capacity
   ```



-- 
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: notifications-unsubscribe@texera.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org