ClickHouse / ClickHouse/clickhouse-java
Replace unmaintained lz4-java with Apache Commons Compress LZ4
- 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
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