You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ilya Kasnacheev (JIRA)" <ji...@apache.org> on 2017/11/30 14:08:00 UTC

[jira] [Created] (IGNITE-7080) YARN fails to create containers if Bash functions exported in environment

Ilya Kasnacheev created IGNITE-7080:
---------------------------------------

             Summary: YARN fails to create containers if Bash functions exported in environment
                 Key: IGNITE-7080
                 URL: https://issues.apache.org/jira/browse/IGNITE-7080
             Project: Ignite
          Issue Type: Bug
          Components: yarn
    Affects Versions: 2.3
            Reporter: Ilya Kasnacheev
            Assignee: Ilya Kasnacheev


Ignite YARN collects all existing environment variables to pass them to container, including variables with incorrect names, such as Bash functions, which have extra characters at the end, and are ignored by most shells but not the JVM.

When you tell Bash to export functions, it puts BASH_FUNC_your_function_name%% variable into env. This is what is causing problems because Ignite YARN picks this variable and tells Hadoop to pass it to container, which leads to incorrectly written startup scrips.

Hadoop tries to sanitize env var values but not env var names. I think Ignite should not try to pass all env vars to containers (it may contain sensitive or master-specific vars!). We should only pass env vars that are relevant to containers, such as IGNITE_* vars.

See http://apache-ignite-users.70518.x6.nabble.com/Error-running-ignite-in-YARN-td18280.html



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)