You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3860fa1
Browse filesBrowse the repository at this point in the historyBrowse files
Leave out removed vertices before sorting a query in memory
Fixes#5099
A graph query ordered by a key which its index doesn't sort it by, such
as one which a composite index answers, or a mixed index which doesn't
hold the order key, failed with IllegalStateException: Vertex with id N
was removed, in a transaction which had removed one of the vertices it
matched. QueryProcessor's PreSortingIterator sorted what the index
returned, reading the order key of each element, before
getFilterIterator left out the elements which the transaction had
deleted, and the order key of a removed vertex can't be read. An
unordered query, which reads no order key, and one which the index
sorts, which JanusGraph doesn't sort, weren't affected, nor were the
edges and properties which the transaction removed, whose ids turn into
no element.
The pre-sorting iterator now leaves out the elements which the
transaction removed (isRemoved) before it sorts the others.
getFilterIterator still leaves out the other elements which the
transaction deleted, such as those which it changed so that they no
longer match, as the sorted elements are reached: only the elements
which are read are checked, and a change made while they are read is
seen, as for an unsorted query. The check of how many elements a
pre-sorting read fetched counts every element which the backend
returned, as before.
Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
Co-authored-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
0 commit comments