Details
Description
A user recieves the error message Invalid docker rw mount when a container tries to mount a directory which is not configured in property docker.allowed.rw-mounts.
Invalid docker rw mount '/usr/local/hadoop/logs/userlogs/application_1536476159258_0004/container_1536476159258_0004_02_000001:/usr/local/hadoop/logs/userlogs/application_1536476159258_0004/container_1536476159258_0004_02_000001', realpath=/usr/local/hadoop/logs/userlogs/application_1536476159258_0004/container_1536476159258_0004_02_000001
The error message makes the user think "It is not possible due to a docker issue". My suggestion would be to put there a message like Configuration of the container executor does not allow mounting directory..
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/docker-util.c
CURRENT:
permitted_rw = check_mount_permitted((const char **) permitted_rw_mounts, mount_src); permitted_ro = check_mount_permitted((const char **) permitted_ro_mounts, mount_src); if (permitted_ro == -1 || permitted_rw == -1) { fprintf(ERRORFILE, "Invalid docker mount '%s', realpath=%s\n", values[i], mount_src); ...
NEW:
permitted_rw = check_mount_permitted((const char **) permitted_rw_mounts, mount_src); permitted_ro = check_mount_permitted((const char **) permitted_ro_mounts, mount_src); if (permitted_ro == -1 || permitted_rw == -1) { fprintf(ERRORFILE, "Configuration of the container executor does not allow mounting directory '%s', realpath=%s\n", values[i], mount_src); ...