Class NodeDocumentRevisionCleaner
- java.lang.Object
-
- org.apache.jackrabbit.oak.plugins.document.NodeDocumentRevisionCleaner
-
public class NodeDocumentRevisionCleaner extends Object
This is a prototype class of a very fine-grained revision cleaner that cleans even revisions in-between checkpoints. It is not clear if it will be used for now. A version is considered to be cleanable if it is not referenced by any checkpoint and is older than a certain threshold.
-
-
Constructor Summary
Constructors Constructor Description NodeDocumentRevisionCleaner(DocumentNodeStore documentNodeStore, NodeDocument workingDocument)
Constructor for NodeDocumentRevisionCleaner.NodeDocumentRevisionCleaner(DocumentNodeStore documentNodeStore, NodeDocument workingDocument, long toModifiedMs)
Constructor for NodeDocumentRevisionCleaner.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
classifyRevisionsAndProperties()
void
collectOldRevisions(UpdateOp op)
Collects cleanable old revisions for the given document.SortedMap<Integer,TreeSet<Revision>>
getBlockedRevisionsToKeep()
SortedMap<Integer,TreeSet<Revision>>
getCandidateRevisionsToClean()
protected SortedMap<Revision,TreeSet<String>>
getPropertiesModifiedByRevision()
protected SortedMap<String,TreeSet<Revision>>
getRevisionsModifyingProperty()
protected SortedMap<String,SortedMap<Integer,TreeSet<Revision>>>
getRevisionsModifyingPropertyByCluster()
protected void
markCheckpointRevisionsToPreserve()
protected void
markLastRevisionForEachProperty()
protected void
markRevisionsNewerThanThresholdToPreserve(long amount, ChronoUnit unit)
protected void
removeCandidatesInList()
-
-
-
Constructor Detail
-
NodeDocumentRevisionCleaner
public NodeDocumentRevisionCleaner(DocumentNodeStore documentNodeStore, NodeDocument workingDocument)
Constructor for NodeDocumentRevisionCleaner.- Parameters:
documentNodeStore
- The DocumentNodeStore instance.workingDocument
- The document to clean up.
-
NodeDocumentRevisionCleaner
public NodeDocumentRevisionCleaner(DocumentNodeStore documentNodeStore, NodeDocument workingDocument, long toModifiedMs)
Constructor for NodeDocumentRevisionCleaner.- Parameters:
documentNodeStore
- The DocumentNodeStore instance.workingDocument
- The document to clean up.
-
-
Method Detail
-
collectOldRevisions
public void collectOldRevisions(UpdateOp op)
Collects cleanable old revisions for the given document.
-
getRevisionsModifyingPropertyByCluster
protected SortedMap<String,SortedMap<Integer,TreeSet<Revision>>> getRevisionsModifyingPropertyByCluster()
-
getRevisionsModifyingProperty
protected SortedMap<String,TreeSet<Revision>> getRevisionsModifyingProperty()
-
getPropertiesModifiedByRevision
protected SortedMap<Revision,TreeSet<String>> getPropertiesModifiedByRevision()
-
getCandidateRevisionsToClean
public SortedMap<Integer,TreeSet<Revision>> getCandidateRevisionsToClean()
-
classifyRevisionsAndProperties
protected void classifyRevisionsAndProperties()
-
markLastRevisionForEachProperty
protected void markLastRevisionForEachProperty()
-
markRevisionsNewerThanThresholdToPreserve
protected void markRevisionsNewerThanThresholdToPreserve(long amount, ChronoUnit unit)
-
markCheckpointRevisionsToPreserve
protected void markCheckpointRevisionsToPreserve()
-
removeCandidatesInList
protected void removeCandidatesInList()
-
-