[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to