Class Compact.Builder

java.lang.Object
org.apache.jackrabbit.oak.segment.tool.Compact.Builder
Enclosing class:
Compact

public static class Compact.Builder extends Object
Collect options for the Compact command.
  • Method Details

    • withPath

      public Compact.Builder withPath(File path)
      The path to an existing segment store. This parameter is required.
      Parameters:
      path - the path to an existing segment store.
      Returns:
      this builder.
    • withMmap

      public Compact.Builder withMmap(@Nullable @Nullable Boolean mmap)
      Whether to use memory mapped access or file access.
      Parameters:
      mmap - true for memory mapped access, false for file access null to determine the access mode from the system architecture: memory mapped on 64 bit systems, file access on 32 bit systems.
      Returns:
      this builder.
    • withOs

      public Compact.Builder withOs(String os)
      Which operating system the code is running on.
      Parameters:
      os - The operating system as returned by the "os.name" standard system property.
      Returns:
      this builder.
    • withForce

      public Compact.Builder withForce(boolean force)
      Whether to fail if run on an older version of the store of force upgrading its format.
      Parameters:
      force - upgrade iff true
      Returns:
      this builder.
    • withSegmentCacheSize

      public Compact.Builder withSegmentCacheSize(int segmentCacheSize)
      The size of the segment cache in MB. The default of SegmentCache.DEFAULT_SEGMENT_CACHE_MB when this method is not invoked.
      Parameters:
      segmentCacheSize - cache size in MB
      Returns:
      this builder
      Throws:
      IllegalArgumentException - if segmentCacheSize is not a positive integer.
    • withGCLogInterval

      public Compact.Builder withGCLogInterval(long gcLogInterval)
      The number of nodes after which an update about the compaction process is logged. Set to a negative number to disable progress logging. If not specified, it defaults to 150,000 nodes.
      Parameters:
      gcLogInterval - The log interval.
      Returns:
      this builder.
    • withGCType

      public Compact.Builder withGCType(SegmentGCOptions.GCType gcType)
      The garbage collection type used. If not specified it defaults to full compaction
      Parameters:
      gcType - the GC type
      Returns:
      this builder
    • withCompactorType

      public Compact.Builder withCompactorType(SegmentGCOptions.CompactorType compactorType)
      The compactor type to be used by compaction. If not specified it defaults to "parallel" compactor
      Parameters:
      compactorType - the compactor type
      Returns:
      this builder
    • withConcurrency

      public Compact.Builder withConcurrency(int concurrency)
      The number of threads to be used for compaction. This only applies to the "parallel" compactor
      Parameters:
      concurrency - the number of threads
      Returns:
      this builder
    • build

      public Compact build()
      Create an executable version of the Compact command.
      Returns:
      an instance of Runnable.