Tomek Rękawek created OAK-6547:
----------------------------------
Summary: The machine id conflicts when running Oak in Docker
containers
Key: OAK-6547
URL: https://issues.apache.org/jira/browse/OAK-6547
Project: Jackrabbit Oak
Issue Type: Bug
Components: documentmk
Reporter: Tomek Rękawek
Priority: Minor
Fix For: 1.8
When running multiple Oak cluster instances in the Docker containers on the
same host, following message can be spotted:
{noformat}
10.08.2017 21:10:34.047 *INFO* [FelixStartLevel]
org.apache.jackrabbit.oak.plugins.document.ClusterNodeInfo Found an existing
possibly active cluster node info (1) for this instance: mac:0242ac120003//,
will try use it.
10.08.2017 21:10:34.047 *INFO* [FelixStartLevel]
org.apache.jackrabbit.oak.plugins.document.ClusterNodeInfo Waiting for cluster
node 1's lease to expire: 96s left
10.08.2017 21:10:39.049 *INFO* [FelixStartLevel]
org.apache.jackrabbit.oak.plugins.document.ClusterNodeInfo Waiting for cluster
node 1's lease to expire: 91s left
{noformat}
This caused by the fact that all the instances have exactly the same machine id
and process id when running in a containers.
My proposal is to use the Docker container id as the machine id. It can be read
from the {{/proc/1/cgroup}}:
{noformat}
14:name=systemd:/docker/9a98ded1e2a49d87d59462b22e7eba647a7a2d4a46756a0839fe002db58a98f8
13:pids:/docker/9a98ded1e2a49d87d59462b22e7eba647a7a2d4a46756a0839fe002db58a98f8
...
1:name=openrc:/docker
{noformat}
The same file may be used to determine whether the Oak is running inside the
Docker or not.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)