Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove vertex ID recycle function #2558

Merged
merged 1 commit into from
Aug 12, 2024

Conversation

mjfh
Copy link
Contributor

@mjfh mjfh commented Aug 12, 2024

why:
It is not safe in general to recycle vertex IDs while the RocksDb
cache has VertexID rather than RootedVertexID where the former
type seems preferable.

In some fringe cases one might remove a vertex with key (root1,vid)
and insert another vertex with key (root2,vid) while re-using the
vertex ID vid. Without knowledge of root1 and root2, the LRU
cache will return the same vertex for (root2,vid) also for
(root1,vid).

why:
  It is not safe in general to recycle vertex IDs while the `RocksDb`
  cache has `VertexID` rather than `RootedVertexID` where the former
  type seems preferable.

  In some fringe cases one might remove a vertex with key `(root1,vid)`
  and insert another vertex with key `(root2,vid)` while re-using the
  vertex ID `vid`. Without knowledge of `root1` and `root2`, the LRU
  cache will return the same vertex for `(root2,vid)` also for
  `(root1,vid)`.
@mjfh mjfh merged commit 7becf4e into master Aug 12, 2024
26 checks passed
@mjfh mjfh deleted the aristo-db-must-not-recycle-any-vertex-id-at-all branch August 12, 2024 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant