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

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

Good points. It is probably best to open a new ticket for documentation 
improvements related to threading issues.

I think, if there are threads that update the configuration, reader and writer 
threads should use the Configuration object itself as lock. Someday we might 
provide wrapper implementations that automatically synchronize access to 
configuration objects, analoguously to the functionality provided by 
Collections.synchronizedCollection(). But that's another story.

> HierarchicalINIConfiguration can throw an exception if the global section is 
> accessed concurrently
> --------------------------------------------------------------------------------------------------
>
>                 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
>             Fix For: 1.7
>
>
> 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