You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Andrew Wang (JIRA)" <ji...@apache.org> on 2016/10/10 19:17:20 UTC
[jira] [Commented] (HADOOP-6871) When the value of a configuration
key is set to its unresolved form, it causes the IllegalStateException in
Configuration.get() stating that substitution depth is too large.
[ https://issues.apache.org/jira/browse/HADOOP-6871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15563200#comment-15563200 ]
Andrew Wang commented on HADOOP-6871:
-------------------------------------
We hit an issue during testing involving multiple specifications of the same variable, for which I posted a patch at HADOOP-13699.
This slims down the cycle detection significantly, and doesn't try to find multi-variable loops. This is because doing this accurately is a lot more work in performance sensitive code, and is overkill for the usecase mentioned here of a variable pointing at itself.
Please comment over at HADOOP-13699 if you feel differently, thanks!
> When the value of a configuration key is set to its unresolved form, it causes the IllegalStateException in Configuration.get() stating that substitution depth is too large.
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-6871
> URL: https://issues.apache.org/jira/browse/HADOOP-6871
> Project: Hadoop Common
> Issue Type: Bug
> Components: conf
> Affects Versions: 3.0.0-alpha1
> Reporter: Arvind Prabhakar
> Assignee: Arvind Prabhakar
> Fix For: 3.0.0-alpha1
>
> Attachments: HADOOP-6871-1.patch, HADOOP-6871-2.patch, HADOOP-6871-3.patch, HADOOP-6871.patch
>
>
> When a configuration value is set to its unresolved expression string, it leads to recursive substitution attempts in {{Configuration.substituteVars(String)}} method until the max substitution check kicks in and raises an IllegalStateException indicating that the substitution depth is too large. For example, the configuration key "{{foobar}}" with a value set to "{{$\{foobar\}}}" will cause this behavior.
> While this is not a usual use case, it can happen in build environments where a property value is not specified and yet being passed into the test mechanism leading to failures due to this limitation.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org