ClickHouse / ClickHouse/clickhouse-java

Replace unmaintained lz4-java with Apache Commons Compress LZ4

Đang mở
#2,437 6 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:network enhancement
Ngôn ngữ chính
Java
Star
1.6k
Fork
636
Merge trung bình
2 ngày 23 giờ
Pull request đã merge (30 ngày)
29

Mô tả

org.lz4:lz4-java (1.8.0) has been unmaintained for years and triggers JDK 17 + startup warnings:

> WARNING: A restricted method in java.lang.System has been called
> WARNING: java.lang.System::loadLibrary has been called by net.jpountz.util.Native in an unnamed module (file:/home/X/.gradle/caches/modules-2/files-2.1/org.lz4/lz4-java/1.8.0/4b986a99445e49ea5fbf5d149c4b63f6ed6c6780/lz4-java-1.8.0.jar)
> WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
> WARNING: Restricted methods will be blocked in a future release unless native access is enabled

This native-loading path can also hurt performance.

Proposed fix

- Drop org.lz4:lz4-java.
- Add org.apache.commons:commons-compress (current release).
- Switch to its LZ4 APIs (org.apache.commons.compress.compressors.lz4.*).

Apache Commons Compress is actively maintained and JDK-compatible:
https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/lz4/package-summary.html

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

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Xác định cấu hình build và mã Java hiện đang phụ thuộc vào org.lz4:lz4-java và sử dụng các API của nó. Đọc tài liệu về package LZ4 tương ứng của Apache Commons Compress, sau đó chạy các bài kiểm thử Java hiện có sau khi chuyển đổi các dependency và API. Được xem là hoàn tất khi dependency cũ và đường dẫn tải native không còn, phần thay thế build thành công và các bài kiểm thử đạt.

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

Đánh giá

Công nghệ
java
Lĩnh vực
backend, build-system
Loại issue
Tái cấu trúc
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
55/100

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.