You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2015/03/08 04:47:16 UTC
svn commit: r1664942 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java
Author: chetanm
Date: Sun Mar 8 03:47:16 2015
New Revision: 1664942
URL: http://svn.apache.org/r1664942
Log:
OAK-2581 - Metatype info for SegmentNodeStoreService
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java?rev=1664942&r1=1664941&r2=1664942&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java Sun Mar 8 03:47:16 2015
@@ -88,50 +88,103 @@ import org.slf4j.LoggerFactory;
/**
* An OSGi wrapper for the segment node store.
*/
-@Component(policy = ConfigurationPolicy.REQUIRE)
+@Component(policy = ConfigurationPolicy.REQUIRE,
+ metatype = true,
+ label = "Apache Jackrabbit Oak Segment NodeStore Service",
+ description = "NodeStore implementation based on Document model. For configuration option refer " +
+ "to http://jackrabbit.apache.org/oak/docs/osgi_config.html#SegmentNodeStore. Note that for system " +
+ "stability purpose it is advisable to not change these settings at runtime. Instead the config change " +
+ "should be done via file system based config file and this view should ONLY be used to determine which " +
+ "options are supported"
+)
@Property(name = "oak.nodestore.description", value = {"nodeStoreType=segment"}, propertyPrivate = true)
public class SegmentNodeStoreService extends ProxyNodeStore
implements Observable, SegmentStoreProvider {
- @Property(description="The unique name of this instance")
public static final String NAME = "name";
- @Property(description="TarMK directory")
+ @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 = "repository.home";
- @Property(description="TarMK mode (64 for memory mapping, 32 for normal file access)")
+ @Property(
+ label = "Mode",
+ description="TarMK mode (64 for memory mapping, 32 for normal file access)"
+ )
public static final String MODE = "tarmk.mode";
- @Property(description="TarMK maximum file size (MB)", intValue=256)
+ @Property(
+ intValue = 256,
+ label = "Maximum Tar File Size (MB)",
+ description = "TarMK maximum file size (MB)"
+ )
public static final String SIZE = "tarmk.size";
- @Property(description="Cache size (MB)", intValue=256)
+ @Property(
+ intValue = 256,
+ label = "Cache size (MB)",
+ description = "Cache size for storing most recently used Segments"
+ )
public static final String CACHE = "cache";
- @Property(description = "TarMK compaction clone binaries flag", boolValue = CLONE_BINARIES_DEFAULT)
+ @Property(
+ boolValue = CLONE_BINARIES_DEFAULT,
+ label = "Clone Binaries",
+ description = "Clone the binary segments while performing compaction"
+ )
public static final String COMPACTION_CLONE_BINARIES = "compaction.cloneBinaries";
@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")
+ @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 = "compaction.cleanup";
- @Property(description = "TarMK compaction strategy timestamp older (ms)", longValue = TIMESTAMP_DEFAULT)
+ @Property(
+ longValue = TIMESTAMP_DEFAULT,
+ 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 = "compaction.cleanup.timestamp";
- @Property(description = "TarMK compaction available memory multiplier needed to run compaction", byteValue = MEMORY_THRESHOLD_DEFAULT)
+ @Property(
+ byteValue = MEMORY_THRESHOLD_DEFAULT,
+ label = "Memory Multiplier",
+ description = "TarMK compaction available memory multiplier needed to run compaction"
+ )
public static final String COMPACTION_MEMORY_THRESHOLD = "compaction.memoryThreshold";
- @Property(description = "TarMK compaction paused flag", boolValue = PAUSE_DEFAULT)
+ @Property(
+ boolValue = PAUSE_DEFAULT,
+ label = "Pause Compaction",
+ description = "When enabled compaction would not be performed"
+ )
public static final String PAUSE_COMPACTION = "pauseCompaction";
- @Property(description = "Flag indicating that this component will not register as a NodeStore but just as a NodeStoreProvider", boolValue = false)
+ @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 = "standby";
- /**
- * Boolean value indicating a blobStore is to be used
- */
+ @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 = "customBlobStore";
private final Logger log = LoggerFactory.getLogger(getClass());