У меня есть приложение Kafka Streams. У меня не было проблем с rocksdb или Kafka Streams, пока мы не развернули код на наших серверах контроля качества. Состояние потоков приложений было установлено как ошибка, и это было сообщение об ошибке:
ERROR com.sial.notifications.kafka.streams.AuditStream - Thread: notification-messages-ecf5f120-5cfb-4a2a-91b5-b145e99c3014-StreamThread-1 Uncaught streams exception /tmp/librocksdbjni6472682265799189638.so: /tmp/librocksdbjni6472682265799189638.so: failed to map segment from shared object: Operation not permitted
При запуске приложения общий объект Rocksdb записывается в / tmp. Однако в целях безопасности сервер монтирует / tmp noexec, поэтому мы не можем запустить общий объект из / tmp. Есть ли способ контролировать, где написано так?
Я обнаружил, что могу изменить его, установив системное свойство java.io.tmpdir, но это кажется очень тяжелым и может иметь побочные эффекты с другими пакетами. Существует ли системное свойство, специфичное для потоков Rocksdb или Kafka, которое будет определять, где написано так?