hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arvind Prabhakar (JIRA)" <j...@apache.org>
Subject [jira] Updated: (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.
Date Wed, 21 Jul 2010 22:16:50 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-6871?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Arvind Prabhakar updated HADOOP-6871:
-------------------------------------

    Status: Patch Available  (was: Open)

This patch fixes this problem by maintaining a set of intermediate evaluated expressions to
test if there is a cycle detected during the resolution loop. If a cycle is detected, the
then intermediate form is returned instead of raising any exception.

Note that since my formatter setting is such that it substitutes all tabs with spaces, there
appear to be a lot of changes - most of which are only white-space related. If there is a
need to preserve the current tab/space format, I can regenerate the patch with this disabled.

PS - I am not able to assign the jira to myself for some reason. Admin(s) can you please add
me to the list of assignees?

> 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
>            Reporter: Arvind Prabhakar
>         Attachments: 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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message