public class SegmentNodeStoreService extends org.apache.jackrabbit.oak.spi.state.ProxyNodeStore implements org.apache.jackrabbit.oak.spi.commit.Observable, SegmentStoreProvider
| Modifier and Type | Field and Description |
|---|---|
static String |
CACHE |
static String |
COMPACTION_CLEANUP |
static String |
COMPACTION_CLEANUP_TIMESTAMP |
static String |
COMPACTION_CLONE_BINARIES |
static String |
COMPACTION_FORCE_AFTER_FAIL |
static String |
COMPACTION_GAIN_THRESHOLD |
static String |
COMPACTION_LOCK_WAIT_TIME |
static int |
COMPACTION_LOCK_WAIT_TIME_DEFAULT |
static String |
COMPACTION_MEMORY_THRESHOLD |
static String |
COMPACTION_RETRY_COUNT |
static String |
CUSTOM_BLOB_STORE |
static String |
DIRECTORY |
static String |
MODE |
static String |
NAME |
static String |
PAUSE_COMPACTION |
static String |
PERSIST_COMPACTION_MAP |
static String |
PROP_BLOB_GC_MAX_AGE |
static String |
SIZE |
static String |
STANDBY |
| Constructor and Description |
|---|
SegmentNodeStoreService() |
| Modifier and Type | Method and Description |
|---|---|
void |
activate(org.osgi.service.component.ComponentContext context) |
Closeable |
addObserver(org.apache.jackrabbit.oak.spi.commit.Observer observer) |
protected void |
bindBlobStore(org.apache.jackrabbit.oak.spi.blob.BlobStore blobStore) |
void |
deactivate() |
protected SegmentNodeStore |
getNodeStore() |
SegmentStore |
getSegmentStore()
needed for situations where you have to unwrap the
SegmentNodeStoreService, to get the SegmentStore, like the failover
|
String |
toString() |
protected void |
unbindBlobStore(org.apache.jackrabbit.oak.spi.blob.BlobStore blobStore) |
public static final String NAME
@Property(label="Directory",
description="Directory location used to store the segment tar files. If not specified then looks for framework property \'repository.home\' otherwise use a subdirectory with name \'tarmk\'")
public static final String DIRECTORY
@Property(label="Mode",
description="TarMK mode (64 for memory mapping, 32 for normal file access)")
public static final String MODE
@Property(intValue=256,
label="Maximum Tar File Size (MB)",
description="TarMK maximum file size (MB)")
public static final String SIZE
@Property(intValue=256,
label="Cache size (MB)",
description="Cache size for storing most recently used Segments")
public static final String CACHE
@Property(boolValue=false,
label="Clone Binaries",
description="Clone the binary segments while performing compaction")
public static final String COMPACTION_CLONE_BINARIES
@Property(options={@PropertyOption(name="CLEAN_ALL",value="CLEAN_ALL"),@PropertyOption(name="CLEAN_NONE",value="CLEAN_NONE"),@PropertyOption(name="CLEAN_OLD",value="CLEAN_OLD")},
value="CLEAN_OLD",
label="Cleanup Strategy",
description="Cleanup strategy used for live in memory segment references while performing cleanup. 1. CLEAN_NONE: All in memory references are considered valid, 2. CLEAN_OLD: Only in memory references older than a certain age are considered valid (compaction.cleanup.timestamp), 3. CLEAN_ALL: None of the in memory references are considered valid")
public static final String COMPACTION_CLEANUP
@Property(longValue=36000000L,
label="Reference expiry time (ms)",
description="Time interval in ms beyond which in memory segment references would be ignored while performing cleanup")
public static final String COMPACTION_CLEANUP_TIMESTAMP
@Property(byteValue=5,
label="Memory Multiplier",
description="TarMK compaction available memory multiplier needed to run compaction")
public static final String COMPACTION_MEMORY_THRESHOLD
@Property(byteValue=10,
label="Compaction gain threshold",
description="TarMK compaction gain threshold. The gain estimation prevents compaction from running if the provided threshold is not met. Value represents a percentage so an input beween 0 and 100 is expected.")
public static final String COMPACTION_GAIN_THRESHOLD
@Property(boolValue=true,
label="Pause Compaction",
description="When enabled compaction would not be performed")
public static final String PAUSE_COMPACTION
@Property(intValue=5,
label="Compaction Retries",
description="Number of tries to compact concurrent commits on top of already compacted commits")
public static final String COMPACTION_RETRY_COUNT
@Property(boolValue=false,
label="Force Compaction",
description="Whether or not to force compact concurrent commits on top of already compacted commits after the maximum number of retries has been reached. Force committing tries to exclusively write lock the node store.")
public static final String COMPACTION_FORCE_AFTER_FAIL
public static final int COMPACTION_LOCK_WAIT_TIME_DEFAULT
@Property(intValue=60,
label="Compaction Lock Wait Time",
description="Number of seconds to wait for the lock for committing compacted changes respectively to wait for the exclusive write lock for force committing.")
public static final String COMPACTION_LOCK_WAIT_TIME
@Property(boolValue=true,
label="Persist Compaction Map",
description="When enabled the compaction map would be persisted instead of being held in memory")
public static final String PERSIST_COMPACTION_MAP
@Property(boolValue=false,
label="Standby Mode",
description="Flag indicating that this component will not register as a NodeStore but just as a NodeStoreProvider")
public static final String STANDBY
@Property(boolValue=false,
label="Custom BlobStore",
description="Boolean value indicating that a custom BlobStore is to be used. By default large binary content would be stored within segment tar files")
public static final String CUSTOM_BLOB_STORE
@Property(longValue=86400L,
label="Blob GC Max Age (in secs)",
description="Blob Garbage Collector (GC) logic will only consider those blobs for GC which are not accessed recently (currentTime - lastModifiedTime > blobGcMaxAgeInSecs). For example as per default only those blobs which have been created 24 hrs ago will be considered for GC")
public static final String PROP_BLOB_GC_MAX_AGE
protected SegmentNodeStore getNodeStore()
getNodeStore in class org.apache.jackrabbit.oak.spi.state.ProxyNodeStore@Activate
public void activate(org.osgi.service.component.ComponentContext context)
throws IOException
IOExceptionprotected void bindBlobStore(org.apache.jackrabbit.oak.spi.blob.BlobStore blobStore)
throws IOException
IOExceptionprotected void unbindBlobStore(org.apache.jackrabbit.oak.spi.blob.BlobStore blobStore)
@Deactivate public void deactivate()
public SegmentStore getSegmentStore()
getSegmentStore in interface SegmentStoreProviderpublic Closeable addObserver(org.apache.jackrabbit.oak.spi.commit.Observer observer)
addObserver in interface org.apache.jackrabbit.oak.spi.commit.ObservableCopyright © 2012-2016 The Apache Software Foundation. All Rights Reserved.