[ 
https://issues.apache.org/jira/browse/CONFIGURATION-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12830730#action_12830730
 ] 

Oliver Heger commented on CONFIGURATION-407:
--------------------------------------------

Actually even an IllegalStateException can be thrown by the 
{{DefaultConfigurationNode}} class because the node is changed while it is 
assigned a parent node.

> HierarchicalINIConfiguration.getSection() is not thread-safe if the global 
> section is requested
> -----------------------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-407
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-407
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.6
>            Reporter: Oliver Heger
>            Assignee: Oliver Heger
>
> If the global section of a hierarchical INI configuration is requested, a new 
> ViewNode is created which becomes the root node of a new configuration for 
> the global section. Nodes representing properties of the global section are 
> added to this ViewNode. This operation temporarily changes the parent node of 
> these nodes which may cause problems if the method is called by multiple 
> threads concurrently. Because access to a section is a read-only operation, 
> this should be thread-safe.
> The probability that this error happens is pretty low IMO. Therefore it 
> should be hard to create a unit test.
> The issue can be fixed by synchronizing the add operation to the ViewNode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to