diff --git a/build/elasticsearch/bin/es-docker b/build/elasticsearch/bin/es-docker index 79d55bb..8cf11eb 100755 --- a/build/elasticsearch/bin/es-docker +++ b/build/elasticsearch/bin/es-docker @@ -22,4 +22,18 @@ do fi done < <(env) +# The virtual file /proc/self/cgroup should list the current cgroup +# membership. For each hierarchy, you can follow the cgroup path from +# this file to the cgroup filesystem (usually /sys/fs/cgroup/) and +# introspect the statistics for the cgroup for the given +# hierarchy. Alas, Docker breaks this by mounting the container +# statistics at the root while leaving the cgroup paths as the actual +# paths. Therefore, Elasticsearch provides a mechanism to override +# reading the cgroup path from /proc/self/cgroup and instead uses the +# cgroup path defined the JVM system property +# es.cgroups.hierarchy.override. Therefore, we set this value here so +# that cgroup statistics are available for the container this process +# will run in. +export ES_JAVA_OPTS="-Des.cgroups.hierarchy.override=/ $ES_JAVA_OPTS" + exec bin/elasticsearch ${es_opts}