Delete yields wrong results #5
Labels
No labels
t
bug
t
documentation
t
enhancement
t
feature
t
test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
scossu/volksdata#5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Test at https://git.knowledgetx.com/scossu/volksdata/src/branch/master/test/test_graph.c#L585 fails. This means the the
VOLK_graph_deletefunction of he MDB store doesn't delete all the triples when passed zero bound terms.The same issue seems to affect the
VOLK_graph_lookupfunction as well.The randomized triples reveal that multiple runs of the same tests fail by different counts.
This is likely the direct cause of scossu/volksdata_lua#3 .
Excerpt from volksdata_lua test log:
10 triples are found in the summary, only 8 are handled in the iterator loop. It looks like
it_next_0boundor something else is skipping, or returning too early, or yielding some invalid results that are silently failing.This cannot be reproduced for lookup, in any combination, with up to 10000 random triples.
On the other hand, it can be reproduced also by binding one term common to all triples, if the size of the graph is large enough (about 1 chance in 10-15 for 100 triples, almost always for 1000 triples).
It may be rather a problem with the position of the pointer after delete. There is a relocation function to reposition the pointer, but it may be flawed in a way that it only fails in these restricted cases.
Delete (and lookup?) yield wrong resultsto Delete yields wrong resultsNot resolved. Parallel or separate transactions may be the way to go but I haven't found a way to make them work in the delete context yet.
Some edge cases, caused by a bug in the 0-bound lookup, have been fixed too.