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 voidclassifyRevisionsAndProperties()voidcollectOldRevisions(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 voidmarkCheckpointRevisionsToPreserve()protected voidmarkLastRevisionForEachProperty()protected voidmarkRevisionsNewerThanThresholdToPreserve(long amount, ChronoUnit unit)protected voidremoveCandidatesInList()
-
-
-
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()
-
-