This repository has been archived by the owner on Apr 1, 2024. It is now read-only.
ISSUE-11593: java.lang.NoSuchMethodError: java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer when enabling topic metadata compression #2884
Labels
Original Issue: apache#11593
Describe the bug
We have introduced managed ledger metadata compression in apache#11490, but we will get
java.lang.NoSuchMethodError: java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer;
when run Pulsar on JDK1.8.For branch-2.8 and master, build on JDK8 or JDK11, run on JDK8 can works.
For branch-2.8 and master, build on JDK8 or JDK11, run on JDK11 can works.
But for branch-2.7, both are works.
After investigating the issue, it's related to the
aircompressor
upgrade, we have upgradedaircompressor
from 0.16 to 0.19 apache#10983. After upgrade theaircompressor
version for branch-2.7, the error appears.Looks like related to the
aircompressor
, maybe need to add --release 1.8 foraircompressor
.The producer also using the
aircompressor
to compress data, but after the test on both branch-2.7, branch-2.8, and master, it works, no error happens. The difference is the producer run into this branch https://github.com/apache/pulsar/blob/6704f12104219611164aa2bb5bbdfc929613f1bf/pulsar-common/src/main/java/org/apache/pulsar/common/compression/CompressionCodecZstd.java#L65 but the managed ledger metadata compression run into here https://github.com/apache/pulsar/blob/6704f12104219611164aa2bb5bbdfc929613f1bf/pulsar-common/src/main/java/org/apache/pulsar/common/compression/CompressionCodecZstd.java#L72To Reproduce
Steps to reproduce the behavior:
The text was updated successfully, but these errors were encountered: