Class AzureCompact.Builder
java.lang.Object
org.apache.jackrabbit.oak.segment.azure.tool.AzureCompact.Builder
- Enclosing class:
- AzureCompact
Collect options for the
Compact
command.-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Create an executable version of theCompact
command.withCompactorType
(SegmentGCOptions.CompactorType compactorType) The compactor type to be used by compaction.withConcurrency
(int concurrency) The number of threads to be used for compaction.withDestinationBlobContainerClient
(com.azure.storage.blob.BlobContainerClient destinationBlobContainerClient) withForce
(boolean force) Whether to fail if run on an older version of the store of force upgrading its format.withGarbageThresholdGb
(int garbageThresholdGb) The minimum garbage size in GB for the compaction to run.withGarbageThresholdPercentage
(int garbageThresholdPercentage) The minimum garbage size in percentage for the compaction to run.withGCLogInterval
(long gcLogInterval) The number of nodes after which an update about the compaction process is logged.withGCType
(SegmentGCOptions.GCType gcType) The garbage collection type used.The path (URI) to an existing segment store.withPersistentCachePath
(String persistentCachePath) The path where segments in the persistent cache will be stored.withPersistentCacheSizeGb
(Integer persistentCacheSizeGb) The maximum size in GB of the persistent disk cache.withRootPrefix
(String rootPrefix) The root directory to an existing segment store.withSegmentCacheSize
(int segmentCacheSize) The size of the segment cache in MB.withSourceBlobContainerClient
(com.azure.storage.blob.BlobContainerClient sourceBlobContainerClient) withTargetPath
(String targetPath) The path (URI) to the target segment store.withTargetRootPrefix
(String targetRootPrefix) The root directory to the target segment store.
-
Method Details
-
withPath
The path (URI) to an existing segment store. This parameter is required.- Parameters:
path
- the path to an existing segment store.- Returns:
- this builder.
-
withTargetPath
The path (URI) to the target segment store.- Parameters:
targetPath
- the path to the target segment store.- Returns:
- this builder
-
withRootPrefix
The root directory to an existing segment store.- Parameters:
rootPrefix
- the directory to an existing segment store.- Returns:
- the builder
-
withTargetRootPrefix
The root directory to the target segment store.- Parameters:
targetRootPrefix
- the root directory to the target segmen store.- Returns:
- this builder
-
withForce
Whether to fail if run on an older version of the store of force upgrading its format.- Parameters:
force
- upgrade ifftrue
- Returns:
- this builder.
-
withSegmentCacheSize
The size of the segment cache in MB. The default ofSegmentCache.DEFAULT_SEGMENT_CACHE_MB
when this method is not invoked.- Parameters:
segmentCacheSize
- cache size in MB- Returns:
- this builder
- Throws:
IllegalArgumentException
- ifsegmentCacheSize
is not a positive integer.
-
withGCLogInterval
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
The garbage collection type used. If not specified it defaults to full compaction- Parameters:
gcType
- the GC type- Returns:
- this builder
-
withCompactorType
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
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
-
withPersistentCachePath
The path where segments in the persistent cache will be stored.- Parameters:
persistentCachePath
- the path to the persistent cache.- Returns:
- this builder
-
withPersistentCacheSizeGb
The maximum size in GB of the persistent disk cache.- Parameters:
persistentCacheSizeGb
- the maximum size of the persistent cache.- Returns:
- this builder
-
withGarbageThresholdGb
The minimum garbage size in GB for the compaction to run.- Parameters:
garbageThresholdGb
- the minimum garbage size in GB for the compaction to run.- Returns:
- this builder
-
withGarbageThresholdPercentage
The minimum garbage size in percentage for the compaction to run.- Parameters:
garbageThresholdPercentage
- the minimum garbage size in percentage for the compaction to run.- Returns:
- this builder
-
withSourceBlobContainerClient
public AzureCompact.Builder withSourceBlobContainerClient(com.azure.storage.blob.BlobContainerClient sourceBlobContainerClient) -
withDestinationBlobContainerClient
public AzureCompact.Builder withDestinationBlobContainerClient(com.azure.storage.blob.BlobContainerClient destinationBlobContainerClient) -
build
Create an executable version of theCompact
command.- Returns:
- an instance of
Runnable
.
-