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

Propagate Java stack traces from JVM upcalls into DataFusionError

Đang mở
#55 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
45/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ệ
java
Lĩnh vực
backend

Hướng nghiên cứu

Bắt đầu bằng cách lần theo các upcall được triển khai bằng Java qua org.apache.datafusion.internal.JniBridge, bắt đầu với các UDF vô hướng và việc xử lý DataFusionError::Execution. Xác định mọi đường đi từ JVM đến native có bắt một Throwable và cách cấu hình của SessionContext có thể tiếp cận chúng. Công việc được xem là hoàn tất khi mọi upcall hiện tại và trong tương lai đều sử dụng một thông báo có thể cấu hình, stack trace đầy đủ hoặc biểu diễn không có trace, với full là mặc định.

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

Mô tả

Follow-up from PR #46 review (thread).

Problem

When a Java-implemented upcall throws (currently: scalar UDFs via JniBridge, but the same will apply to any future upcall — table providers, aggregate UDFs, etc.), the native side surfaces only the exception class name and getMessage() via DataFusionError::Execution. The Java stack trace is discarded, which makes debugging much harder than necessary.

Proposal

Capture the throwable's stack trace on the JVM side and include it in the error string returned to native code. Make verbosity configurable per SessionContext so production callers can opt out — e.g. an enum like message | full | none, default full.

Scope

Should cover all JVM→native upcall paths, not just scalar UDFs. A shared helper in org.apache.datafusion.internal.JniBridge (or a new JniErrors utility) that converts a Throwable to the configured representation, used wherever upcalls catch exceptions.

References

Ngôn ngữ chính
Java
Star
32
Fork
12
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Mở 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/datafusion-java

Tất cả issue của apache/datafusion-java

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.