Make golden snapshot bake concurrency configurable, and tell the caller whether an actor restored from a golden or booted from the image
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 46/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- gcp, go, kubernetes
- Lĩnh vực
- backend, observability
Hướng nghiên cứu
Start by tracing the template reconciler's golden-bake worker pool and the actor startup path; look for existing configuration flags and metrics to follow. The issue names no files or tests, so locate the relevant entry points before estimating the change. Done means bake concurrency is configurable, callers can tell whether an actor restored from a golden or booted from an image, and the bake backlog is exposed as a metric.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What happens today
The template reconciler bakes goldens with a fixed pool of five workers per ateapi replica; a bake is about two minutes (boot, readiness wait, upload). Template creation has no such limit, so a job that derives thousands of templates quickly leaves the bakes far behind. While a template has no golden, its actors boot from the image, and nothing on the actor says so.
| Templates created | Time to create | Backlog |
|---|---|---|
| 8,101 | 9 min | 45 min later most had no golden; every actor had booted |
| 36,000 | 45 min | about 20 h on 2 replicas, about 7 h on 12 |
Scaling ateapi to twelve replicas was the only lever, which ties the bake rate to API replica count by accident.
Proposal
- Make the bake concurrency a flag.
- Report on the actor whether it started from a golden or booted from the image.
- Expose the bake backlog as a metric, so a caller can wait for it.
How to see it
- Create a few thousand ActorTemplates quickly, one per image, golden snapshots enabled.
kubectl-ate get actor-templates -a ATESPACE; count empty golden tags over time. Create actors meanwhile: none produce a restore record.- Scale ateapi; the rate changes proportionally.
Setup
Setup: two GKE worker pools. Pool A: 40 x n2-standard-8 (8 vCPU, 32 GiB, Intel Cascade Lake), 192 GB pd-balanced boot disk, 320 worker pods. Pool B: 783 x e2-standard-8 (8 vCPU, 32 GiB, AMD Rome), 500 GB pd-balanced boot disk, 2,000 worker pods. ateapi at 2 to 12 replicas; Postgres on one n2-standard-16 with pd-ssd. Images: SWE-bench Verified (445, about 1.1 GB compressed median, 13 layers), R2E-Gym-V1 (8,101, 0.57 GB compressed median, 1.9 GB max, 14 layers, almost no layer sharing), a 36,871-image SWE-RL set (0.5 to 1.4 GB compressed median per subset, up to 13 GB squashed single-layer images); unpacked size 2 to 2.5 times compressed; plain containerd pulls from a same-region Artifact Registry. gVisor (runsc), GKE 1.36.4-gke.2046002, Container-Optimized OS, Linux x86_64. Observed on Substrate 0fdb67b5; the code cited is unchanged on main at a508f8fe.
- Ngôn ngữ chính
- Go
- Star
- 6.1k
- Fork
- 676
- Merge trung bình
- 2 ngày 41 phút
- Pull request đã merge (30 ngày)
- 500
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của agent-substrate/substrate
-
Clean up the ko retry testsCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởarea/dev-infra area/reliability area/tests kind/cleanup
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
agent-substrate/substrate#3461 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
egress: drop the empty-provider check in providerCredentialCó thể đã có người làm @cloudonly đã nhận 7 ngày trước. Đang mởarea/network kind/cleanup
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
agent-substrate/substrate#3428 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
kubectl-ate create actor-template -f <file> fails with useless errorCó thể đã có người làm @cloudonly đã nhận 8 ngày trước. Đang mởarea/cli kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
agent-substrate/substrate#3406 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
k8s-credential-provider manifest is missing ate-otel-config envFrom, failing OTLP metric exports to [::1]:4317 / 127.0.0.1:4317 every 60sCó thể đã có người làm @ericcurtin đã nhận 9 ngày trước. Đang mởarea/dev-infra area/observability area/security kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
agent-substrate/substrate#3282 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
filecachegc.runPass suppresses eviction logs when FreedBytes < target and consecutiveShortfalls > 3Có thể đã có người làm @ericcurtin đã nhận 8 ngày trước. Đang mởarea/node area/observability area/storage kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
agent-substrate/substrate#3281 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của agent-substrate/substrate
Issue tương tự
-
Query cache: a failed cache page read leaves the set request's read lock held, so the scan hangsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
turbot/steampipe-plugin-sdk#986 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
router-for-me/CLIProxyAPI#7307 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
betterleaks/betterleaks#460 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
openmcp-project/service-provider-crossplane#330 ·
Maintainer thường phản hồi trong vòng 1 ngày