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

[Bug] Flink VARIANT NOT NULL column is stored as nullable

Đã đóng Phù hợp với người mới
#10,616 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

@LuciferYang đang làm issue này rồi.

Từ ngày 16/10/2026.

  • #10617 của @LuciferYang — đang mở

Đá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
62/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
java, sql

Hướng nghiên cứu

Bắt đầu tại LogicalTypeToDataType.visit(VariantType), theo báo cáo thì hàm này luôn tạo ra một VariantType của Paimon có thể nhận giá trị null. Chạy SQL tái hiện trong một phiên Flink để xác nhận cột bị mất NOT NULL khi đọc lại. Hoàn thành khi cột VARIANT NOT NULL giữ nguyên tính không-null qua quá trình chuyển đổi và việc chèn giá trị NULL bị từ chối.

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 nothing similar.
Paimon version

master (5d019f5a6d)

Compute Engine

Flink 2.1 / 2.2

Minimal reproduce step
CREATE TABLE t (id INT, v VARIANT NOT NULL);
INSERT INTO t VALUES (1, CAST(NULL AS VARIANT));
SELECT * FROM t;
What doesn't meet your expectations?

The insert succeeds and the table holds a NULL in a column declared NOT NULL. LogicalTypeToDataType.visit(VariantType) always creates a nullable Paimon VariantType, so the NOT NULL constraint is not stored, Flink reads the column back as nullable and does not enforce it, and other engines see a nullable column too.

Anything else?

No response

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 18 giờ
Pull request đã merge (30 ngày)
443

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.