History | Log In     View a printable version of the current page. Get help!  
Issue Details [XML]

Key: SES-715
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Critical Critical
Assignee: Arjohn Kampman
Reporter: Arjohn Kampman
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Sesame

Statement removal affects visibility of unrelated statements

Created: 02/Jul/10 02:33 PM   Updated: 05/Jul/10 10:43 AM
Component/s: Native Sail
Affects Version/s: 2.3.1
Fix Version/s: 2.3.2


 Description   
Issue reported on the sesame-general mailing list: http://sourceforge.net/mailarchive/forum.php?thread_name=C1C9AE5E-CDF9-4DC1-ACE6-CBEB33FA8E86%40rauschma.de&forum_name=sesame-general

we're facing a severe problem with the NativeStore implementation in Sesame 2.3.1. To shortly describe the problem, we do the following:

1.) Create a Repository and a RepositoryConnection, say rConn
2.) Load some triples into two different contexts, say context1 and context2, using rConn
3.) Remove all triples from context1 (by calling rConn.clear(context1))
4.) Close the connection rConn (... so far, everything is fine)
5.) Take a fresh connection rConn2 and check the content of context2: the call rConn2.getStatement(null,null,null,false,context2) yields the wrong result: some triples are missing.

 All   Comments   Change History      Sort Order:
Comment by Arjohn Kampman [05/Jul/10 10:43 AM]
Fixed in svn revision 10420. Cause was a bug in the BTree. Upon commit, the native store iterates the btree's records to commit all pending updates. This includes the removal of records that have been added and then removed in a single transaction. Whenever such a removal operation concerns a non-leaf node, the btree replaces the values with the next value (smallest value from right sub tree). The iterator continued with the 'next' value and was missing the one that was used as a replacement.