[Feature Request]: Bound PGBKCVOperation precombine table by in-memory size, not key count
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
- #39767 của @Dharshika-11 — đã đóng, không merge
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- python
- Lĩnh vực
- data-engineering
Hướng nghiên cứu
Bắt đầu trong sdks/python/apache_beam/runners/worker/operations.py tại PGBKCVOperation và TODO của nó về việc giới hạn theo kích thước trong bộ nhớ. So sánh với PGBKOperation tương ứng và kiểm tra cách các accumulator Count, Mean, min, max và sum được biểu diễn. Hoàn thành khi bảng precombine được giới hạn bằng một ước tính kích thước trong bộ nhớ thay vì chỉ dựa vào số lượng key, đồng thời tính đến các accumulator được bọc hoặc native.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What would you like to happen?
PGBKCVOperation (sdks/python/apache_beam/runners/worker/operations.py) caps its precombine table by key count (max_keys, default 100k / 1M for Count/Mean/min/max/sum), flushing ~10% of keys once the count is hit. The code already flags this as a stopgap:
# TODO(b/36567833): Bound by in-memory size rather than key count.
A fixed key-count cap is a poor memory proxy when accumulators vary in size, so workers can OOM well below max_keys (or flush needlessly when accumulators are tiny). Request: bound the table by estimated in-memory size instead of (or in addition to) key count.
Notes:
b/36567833is a Google-internal Buganizer ref with no public page; this issue tracks it publicly.- Sibling
PGBKOperationhas the same shape (max_size = 10 * 1000elements). - Sizing accurately is the hard part —
sys.getsizeofundercounts wrapped/native (e.g. C-extension) accumulators; a coder-based or sampled-RSS estimate is likely needed.
Issue Priority
Priority: 3 (nice-to-have improvement)
Issue Components
- Component: Python SDK
- Ngôn ngữ chính
- Java
- Star
- 8.7k
- Fork
- 4.8k
- Merge trung bình
- 2 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 368
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 apache/beam
-
Release notes links wrongĐang mởawaiting triage bug P3
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 67/100
apache/beam#41197 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: [Python] WriteToJson silently rounds floats to 10 decimal placesCó thể đã có người làm @Abhi2939 đã nhận 1 ngày trước. Đang mởio P2 python yaml
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
apache/beam#41102 · 4 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 68/100
apache/beam#39624 · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: PubsubIO used in batch incorrect batch cutoff sizeCó thể đã có người làm @1fanwang đã nhận 78 ngày trước. Đang mởbug io P3 pinned pubsub
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
apache/beam#28011 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
build P3 sub-task
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
Enhancing the Issue TemplateĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
SasanLabs/VulnerableApp#912 ·
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 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
desktop edt not responding
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
datafusion-contrib/StreamFusion#653 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] Absolute row/column index 0 is ignored for images, hyperlinks and commentsCó thể đã có người làm @fanOfSunny đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày