lh0156 opened a new pull request, #22940:
URL: https://github.com/apache/kafka/pull/22940

   ## Summary
   
   - Add GraalVM JNI reachability metadata for `ZstdOutputStreamNoFinalizer`.
   - Extend the Docker sanity test to create a zstd-compressed topic, produce a 
zstd record, and consume it back.
   
   ## Motivation
   
   Native Kafka images already register the private `srcPos` and `dstPos` 
fields used by `ZstdInputStreamNoFinalizer`, but the corresponding output 
stream fields were missing. When a native broker handled a topic configured 
with `compression.type=zstd`, zstd-jni attempted to access those fields through 
JNI and failed with `NoSuchFieldError`.
   
   The regression flow exercises the broker-side output path instead of only 
checking the metadata file, so the test verifies that a native broker can 
create, write to, and read from a zstd-compressed topic.
   
   Fixes [KAFKA-19839](https://issues.apache.org/jira/browse/KAFKA-19839)
   
   ## Validation
   
   - `./gradlew core:releaseTarGz --no-daemon --console=plain`
   - Built the native Docker image from the local release archive with the 
GraalVM 21 Dockerfile.
   - Ran the native Docker sanity zstd flow: topic creation, zstd producer 
write, and consumer read all passed.
   - Verified the updated JNI metadata with `jq`, inspected the `zstd-jni 
1.5.6-10` fields with `javap`, ran Python AST parsing, and ran `git diff 
--check`.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to