Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
Description
Currently, diff information is filled into caches actively (local commits pushed in local_diff, externally read changes pushed into memory_diff). At the time of event processing though, the entries could have already been evicted.
In that case, we fall back to computing diff by comparing 2 node-states which becomes more and more expensive (and eventually fairly non-recoverable leading to OAK-2683).
To improve the situation somewhat, we can probably try to consult journal entries to read a smaller-superset of changed paths before falling down to comparison.
Attachments
Attachments
Issue Links
- breaks
-
OAK-6495 Fallback to classic diff when journal is broken
- Closed
- depends upon
-
OAK-4552 Checkpoints.getOldestRevisionToKeep() returns newest valid revision
- Closed
-
OAK-4553 Retain journal entries for valid checkpoints
- Closed
-
OAK-4556 Track branch on newBranchCommit()
- Closed
- is related to
-
OAK-4682 ConcurrentModificationException in JournalEntry.TreeNode
- Closed
-
OAK-4937 JournalGC failing with RDB DocumentStore
- Closed
-
OAK-5228 Incorrect minTimestamp in DocumentNodeStore.diffImpl()
- Closed
-
OAK-2836 Create diff cache entry for merged persisted branch
- Resolved
-
OAK-4715 Reduce DocumentStore reads for local changes
- Closed
- relates to
-
OAK-2683 the "hitting the observation queue limit" problem
- Open