Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

local-sort.max-num-file-handles below 2 causes a data-volume-dependent crash on spill

Đã đóng Phù hợp với người mới
#10,292 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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ó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
72/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
java
Lĩnh vực
data-engineering

Hướng nghiên cứu

Bắt đầu tại AbstractBinaryExternalMerger.mergeChannelList và lần theo nơi local-sort.max-num-file-handles được đọc cũng như nơi merger được khởi tạo. Tái hiện với giá trị 1 và nhiều tệp spill, sau đó xác minh rằng quá trình khởi tạo từ chối fan-in nhỏ hơn 2 bằng một IllegalArgumentException rõ ràng trước khi bắt đầu sắp xếp.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Search before asking
  • I searched in the issues and found no similar issues.
Paimon version

master (1.5-SNAPSHOT)

Compute Engine

Any engine doing an external sort that spills (large sort / merge).

Minimal reproduce step
  1. Set local-sort.max-num-file-handles = 1.
  2. Run a sort large enough to produce more than one spill file.
What doesn't meet your expectations?

The job crashes with an IllegalArgumentException (a negative subList argument), but only after the second spill file appears. local-sort.max-num-file-handles (the external-merge fan-in, default 128) has no lower-bound validation, so it can be set to 1. With fan-in = 1, AbstractBinaryExternalMerger.mergeChannelList divides by maxFanIn - 1 = 0, yielding Integer.MAX_VALUE merges and a negative subList bound. Because it only triggers on the second spill, it passes small-data testing and then crash-loops in production as data grows (the job restarts on the same config and fails again). It should fail fast at construction with a clear message.

Anything else?

A fan-in of 1 is degenerate for a merge sort (it can never converge N runs), so rejecting it up front is correct.

Are you willing to submit a PR?
  • I'm willing to submit a PR!
Ngôn ngữ chính
Java
Star
3.4k
Fork
1.4k
Merge trung bình
1 ngày 10 giờ
Pull request đã merge (30 ngày)
481

Chuẩn bị môi trường

  • Không có Dockerfile hay tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của apache/paimon

Tất cả issue của apache/paimon

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.