There is no way to provide additional (and configurable) -D options to java processes started by RuntimeUtils.java of pulsar-functions-runtime.
More specifically, when attempting to start a source/sink using Pulsar 2.8 / Centos7 there are Java JNI binaries that appear to extract to /tmp and execute from /tmp. Our corporate policy is to have noexec specified for /tmp and so alternative paths need to be specified using -D options. There is currently no way to pass these options to the spawned processes however.
I have tried various other methods such as setting _JAVA_OPTIONS but with no success.
Currently the only workaround I have found is to rebuild pulsar-functions-runtime with the additional options hardcoded and replacing the package in the lib folder.
Original Issue: apache/pulsar#12051
There is no way to provide additional (and configurable) -D options to java processes started by RuntimeUtils.java of pulsar-functions-runtime.
More specifically, when attempting to start a source/sink using Pulsar 2.8 / Centos7 there are Java JNI binaries that appear to extract to /tmp and execute from /tmp. Our corporate policy is to have noexec specified for /tmp and so alternative paths need to be specified using -D options. There is currently no way to pass these options to the spawned processes however.
I have tried various other methods such as setting _JAVA_OPTIONS but with no success.
Currently the only workaround I have found is to rebuild pulsar-functions-runtime with the additional options hardcoded and replacing the package in the lib folder.