Replies: 8 comments
-
As I understand it, that sounds like exactly the kind of setup where that section in the docs becomes relevant. For reference, this seems relevant: PowerDNS/lightningstream#79 Maybe both issues (provided both are still relevant?) could be elaborated on in the docs? I suppose the point of the somewhat vague instruction in docs becomes relevant specifically when processes from different containers (or container + host) all operate on the same set of LMDB database files? Where said processes may have conflicting PIDs and/or the respective images could have shipped with different libc, etc. |
Beta Was this translation helpful? Give feedback.
-
There's also the The description of that param in the docs is:
|
Beta Was this translation helpful? Give feedback.
-
To my knowledge that (among other things) must be on for a Lightningstream setup, but that is unrelated to the container specific concerns above. |
Beta Was this translation helpful? Give feedback.
-
Perhaps also of interest is the But there's no mention of it on this repo's That's potentially a more attractive option than host PID namespace, but as always more clarity would be appreciated ! |
Beta Was this translation helpful? Give feedback.
-
That setting does seem like a potential workaround (a bit of a hack, but used with care it should avoid the problem), There are also other aspects of the Ie something along these lines could also be an option for how to handle the pid situation:
|
Beta Was this translation helpful? Give feedback.
-
Of course Looks like you're right on pid settings: https://docs.docker.com/reference/cli/docker/container/run/#pid I guess the other quesiton here is whether we actually need to start a seperate lightning stream instance at all ? I would have thought |
Beta Was this translation helpful? Give feedback.
-
The As I understand, it's specifically because the lightningstream synchronization runs as a separate daemon, potentially in a container with overlapping PIDs or with a different libc, that these LMDB-centric container concerns exist in the first place. |
Beta Was this translation helpful? Give feedback.
-
I have not yet had a chance to use podman systemd quadlets, but if I my understanding is correct, by default podman creates a pod with its own private PID namespace. And so both containers could be started in that. So, pending any clarification on the orignial question, I am thinking perhaps using podman instead of docker_compose would be the safest / least hacky way forward. |
Beta Was this translation helpful? Give feedback.
-
The README for the pdns docker image (https://github.com/PowerDNS/pdns/blob/master/Docker-README.md#lmdb) states the host PID namespace should be used.
Does this still apply where LMDB is used in conjunction with Lightning Stream ? This should proabably be addressed in the README for clarity ?
Beta Was this translation helpful? Give feedback.
All reactions