Class CheckpointCompactor
java.lang.Object
org.apache.jackrabbit.oak.segment.Compactor
org.apache.jackrabbit.oak.segment.CheckpointCompactor
- Direct Known Subclasses:
- ParallelCompactor
This compactor implementation is aware of the checkpoints in the repository.
 It uses this information to further optimise the compaction result by
 
- Rebasing the checkpoints and subsequently the root on top of each other in chronological order. This results minimises the deltas that need to be processed and stored.
- Caching the compacted checkpoints and root states for deduplication should the same checkpoint or root state occur again in a later compaction retry cycle.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final @NotNull ClassicCompactorprotected final @NotNull GCMonitor
- 
Constructor SummaryConstructorsConstructorDescriptionCheckpointCompactor(@NotNull GCMonitor gcListener, @NotNull CompactionWriter writer, @NotNull GCNodeWriteMonitor compactionMonitor) Create a new instance based on the passed arguments.
- 
Method SummaryModifier and TypeMethodDescription@Nullable CompactedNodeStatecompact(@NotNull NodeState before, @NotNull NodeState after, @NotNull NodeState onto, @NotNull Canceller canceller) compact the differences betweenafterandbeforeon top ofonto.@Nullable CompactedNodeStatecompactDown(@NotNull NodeState before, @NotNull NodeState after, @NotNull Canceller hardCanceller, @NotNull Canceller softCanceller) compact the differences betweenafterandbeforeon top ofafter.protected @Nullable CompactedNodeStatecompactDownWithDelegate(@NotNull NodeState before, @NotNull NodeState after, @NotNull Canceller hardCanceller, @NotNull Canceller softCanceller) Delegate compaction to another, usually simpler, implementation.protected @Nullable CompactedNodeStatecompactWithDelegate(@NotNull NodeState before, @NotNull NodeState after, @NotNull NodeState onto, @NotNull Canceller canceller) Methods inherited from class org.apache.jackrabbit.oak.segment.CompactorcompactDown, compactUp, compactUp
- 
Field Details- 
gcListener
- 
compactor
 
- 
- 
Constructor Details- 
CheckpointCompactorpublic CheckpointCompactor(@NotNull @NotNull GCMonitor gcListener, @NotNull @NotNull CompactionWriter writer, @NotNull @NotNull GCNodeWriteMonitor compactionMonitor) Create a new instance based on the passed arguments.- Parameters:
- gcListener- listener receiving notifications about the garbage collection process
- writer- segment writer used to serialise to segments
- compactionMonitor- notification call back for each compacted nodes, properties, and binaries
 
 
- 
- 
Method Details- 
compactDown@Nullable public @Nullable CompactedNodeState compactDown(@NotNull @NotNull NodeState before, @NotNull @NotNull NodeState after, @NotNull @NotNull Canceller hardCanceller, @NotNull @NotNull Canceller softCanceller) throws IOException Description copied from class:Compactorcompact the differences betweenafterandbeforeon top ofafter.- Specified by:
- compactDownin class- Compactor
- Parameters:
- before- the node state to diff against from- after
- after- the node state diffed against- before
- hardCanceller- the trigger for hard cancellation, will abandon compaction if cancelled
- softCanceller- the trigger for soft cancellation, will return partially compacted state if cancelled
- Returns:
- the compacted node state or nullif hard-cancelled
- Throws:
- IOException- will throw exception if any errors occur during compaction
 
- 
compact@Nullable public @Nullable CompactedNodeState compact(@NotNull @NotNull NodeState before, @NotNull @NotNull NodeState after, @NotNull @NotNull NodeState onto, @NotNull @NotNull Canceller canceller) throws IOException Description copied from class:Compactorcompact the differences betweenafterandbeforeon top ofonto.- Specified by:
- compactin class- Compactor
- Parameters:
- before- the node state to diff against from- after
- after- the node state diffed against- before
- onto- the node state to compact to apply the diff to
- canceller- the trigger for hard cancellation, will abandon compaction if cancelled
- Returns:
- the compacted node state or nullif hard-cancelled
- Throws:
- IOException- will throw exception if any errors occur during compaction
 
- 
compactDownWithDelegate@Nullable protected @Nullable CompactedNodeState compactDownWithDelegate(@NotNull @NotNull NodeState before, @NotNull @NotNull NodeState after, @NotNull @NotNull Canceller hardCanceller, @NotNull @NotNull Canceller softCanceller) throws IOException Delegate compaction to another, usually simpler, implementation.- Throws:
- IOException
 
- 
compactWithDelegate@Nullable protected @Nullable CompactedNodeState compactWithDelegate(@NotNull @NotNull NodeState before, @NotNull @NotNull NodeState after, @NotNull @NotNull NodeState onto, @NotNull @NotNull Canceller canceller) throws IOException - Throws:
- IOException
 
 
-