lhotari opened a new issue #12645:
URL: https://github.com/apache/pulsar/issues/12645
**Describe the bug**
The fix made in #11343 to fix #11340/#11379 concurrency issues in
NarUnpacker doesn't work when /tmp is a mounted volume (in a container). This
is due to the fact that docker volumes don't support file locking across
containers.
**To Reproduce**
Similar steps as there are for #11340/#11379 with the difference that
/tmp/pulsar-nar is a mounted directory.
**Expected behavior**
It should be possible to configure Pulsar Functions to use another file
locking solution that doesn't require operating system level file locking
functionality. Alternatively it should be possible to configure the function
instance to use a unique directory for the function instance instead of using
the shared /tmp/pulsar-nar directory.
The extraction directory cannot be unique for each extraction since that
would cause the disk space usage to grow when functions get started/restarted.
**Error message**
```
ERROR org.apache.pulsar.common.nar.NarUnpacker - There was a problem
extracting the nar file. Deleting
/tmp/pulsar-nar/functions.jar-unpacked/Zii1vei7Ohhaishu_Bohc6kaesaechoofeishaiN8
to clean up state.
java.io.FileNotFoundException:
/tmp/pulsar-nar/functions.jar-unpacked/Zii1vei7Ohhaishu_Bohc6kaesaechoofeishaiN8/META-INF/MANIFEST.MF
(No such file or directory)
at java.io.FileOutputStream.open0(Native Method) ~[?:?]
at java.io.FileOutputStream.open(FileOutputStream.java:298) ~[?:?]
at java.io.FileOutputStream.<init>(FileOutputStream.java:237) ~[?:?]
at java.io.FileOutputStream.<init>(FileOutputStream.java:187) ~[?:?]
at
org.apache.pulsar.common.nar.NarUnpacker.makeFile(NarUnpacker.java:144)
~[java-instance.jar:?]
at org.apache.pulsar.common.nar.NarUnpacker.unpack(NarUnpacker.java:127)
~[java-instance.jar:?]
at
org.apache.pulsar.common.nar.NarUnpacker.doUnpackNar(NarUnpacker.java:96)
~[java-instance.jar:?]
at
org.apache.pulsar.common.nar.NarUnpacker.unpackNar(NarUnpacker.java:65)
~[java-instance.jar:?]
at
org.apache.pulsar.common.nar.NarClassLoader.getFromArchive(NarClassLoader.java:153)
~[java-instance.jar:?]
```
--
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]