Francisco Martinez created KAFKA-17227:
------------------------------------------

             Summary: Apache Kafka 3.8.0 /tmp exec permission
                 Key: KAFKA-17227
                 URL: https://issues.apache.org/jira/browse/KAFKA-17227
             Project: Kafka
          Issue Type: Bug
    Affects Versions: 3.8.0
            Reporter: Francisco Martinez
         Attachments: kafka_issue.png

I have just downloaded and installed new Apache Kafka version 3.8.0.

It does not work for me (version 3.7.1 works fine).

In SLES 15 SP5, i have configured /etc/fstab to do not have exec permission for 
the /tmp partition (noexec) (as suggested by the CIS benchmark).

Then the Kafka service does not start. Even the kafka-storage.sh script cannot 
be executed to create the Kafka storage in /tmp/kraft-combined-logs.

The error reported (in all cases) is exception java.lang.UnsatisfiedLinkError: 
/tmp/lib/libzstd-jni-1.5.6-3.....so: failed to map segment from shared object. 
The error does not appear if i enable again the exec permission in /tmp (i.e. 
mount -o remount,exec /tmp).

It seems that the zstd-jni-1.5.6-3.jar library is tried to be loaded (even in 
the case the compression is disabled by default in producer.properties: 
compression.type=none). Inside the jar file there is for example 
lizstd-jni-1.5.6-3.so for amd64 architecture that is used by the jar, and for 
that purpose it is copied to /tmp. But if the /tmp does not have execution 
permissions, the Apache Kafka processes don't start.

Maybe the issue is in zstd-jni and has to be solved in zstd-jni, or maybe the 
library could be imported only when necessary (only in case the compression is 
used) to minimize the issue with zstd-jni.

Thanks and regards.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to