[ 
https://issues.apache.org/jira/browse/MARMOTTA-236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13700087#comment-13700087
 ] 

Sebastian Schaffert commented on MARMOTTA-236:
----------------------------------------------

The test describes a real transaction conflict about the same resource and 
therefore fails. In case of a conflict, there are in principle the following 
situations:

1. first wins, second rolls back, i.e. the transaction that commits first will 
write the data correctly to the DB (that is what happens) and the second throws 
an exception when it tries to commit (we don't have this right now because the 
error occurs before)
2. more intelligent conflict resolution: if both transactions do essentially 
the same or subsume each other, simply let both commit successfully; this is 
not feasible because it requires us to keep track what has actually changed, 
and this is very expensive

The bug that remains is to make concurrency really behave like 1., i.e. the 
error should not be as "unexpected" as it is but instead either a 
"ConcurrentModificationException" when accessing or an exception when 
committing. I don't have a proper plan yet how to implement this, though.
                
> triple-leak with concurrent connections in facading
> ---------------------------------------------------
>
>                 Key: MARMOTTA-236
>                 URL: https://issues.apache.org/jira/browse/MARMOTTA-236
>             Project: Marmotta
>          Issue Type: Bug
>          Components: Sesame Tools
>    Affects Versions: 3.0-incubating
>            Reporter: Jakob Frank
>            Assignee: Jakob Frank
>             Fix For: 3.1-incubating
>
>   Original Estimate: 8h
>          Time Spent: 1.5h
>  Remaining Estimate: 6.5h
>
> When using facading on the *same* subject in different connections, the 
> transaction-isolation seems to be not completely working.
> When creating a typed facade (Facade with RDFType-Annotation):
> - in the first connection (c1), the type is correctly added
> - before commit in c1, creating a facade on a parallel connection c2 - the 
> type is NOT added.
> - after commit in c1: the type is added as should be.
> see UnitTest: ConcurrentFacadingTest#testParallelFacadingType

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to