[infinispan-issues] [JBoss JIRA] (ISPN-5319) TreeCache with concurrent puts becomes inconsistent

Bernhard Kabelka (JIRA) issues at jboss.org
Tue Aug 25 08:16:43 EDT 2015


    [ https://issues.jboss.org/browse/ISPN-5319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13101468#comment-13101468 ] 

Bernhard Kabelka commented on ISPN-5319:
----------------------------------------

I am observing a similar problem concerning the data of a single node in case of concurrent puts:

If, say, the node */someFqn* has the data {{"key_1" => "value_1", "key_2" => "value_2"}}  and I perform the following put operations

Thread #1: {{treeCache.put( "/someFqn", "key_1", "modified_1" );}}
Thread #2: {{treeCache.put( "/someFqn", "key_2", "modified_2" );}}

Then the data of the node is {{"key_1" => "value_1", "key_2" => "modified_2"}} afterwards, i.e. one of the modifications gets lost. If the two put operations are performed on the same thread, both values are correctly modified.

> TreeCache with concurrent puts becomes inconsistent
> ---------------------------------------------------
>
>                 Key: ISPN-5319
>                 URL: https://issues.jboss.org/browse/ISPN-5319
>             Project: Infinispan
>          Issue Type: Bug
>    Affects Versions: 5.3.0.Final, 7.2.0.Final
>            Reporter: Jeremy Stone
>
> Concurrent puts using tree cache api store data values in the tree but the structure of tree can become corrupted. Namely: node.getChildren() for a parent node might not include the child node even though the child node exists and has some data. 
> This makes it difficult to reliably use the tree cache structure to mirror a corresponding tree-like business data structure (e.g. materialized from a database).
> This can be readily reproduced with a local cache. A unit test is attached to the referenced forum topic.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the infinispan-issues mailing list