org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.class Maven / Gradle / Ivy
???? 3? Corg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService java/lang/Object DocumentNodeStoreService.java ,Lorg/apache/felix/scr/annotations/Component; policy 6Lorg/apache/felix/scr/annotations/ConfigurationPolicy; REQUIRE metatype label 0Apache Jackrabbit Oak Document NodeStore Service description?NodeStore implementation based on Document model. For configuration option refer to http://jackrabbit.apache.org/oak/docs/osgi_config.html#DocumentNodeStore. 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 Uorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService$DocumentStoreType DocumentStoreType Eorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService$5 Eorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService$4 Eorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService$3 Eorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService$2 Eorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService$1 =org/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder 5org/apache/jackrabbit/oak/plugins/document/DocumentMK Builder java/util/Map$Entry "
java/util/Map $ Entry [org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils$SharedStoreRecordType ' Eorg/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils ) SharedStoreRecordType MB J DEFAULT_URI Ljava/lang/String; mongodb://localhost:27017/oak 2
DEFAULT_CACHE I DEFAULT_BLOB_CACHE_SIZE
DEFAULT_DB oak : DEFAULT_PERSISTENT_CACHE cache,binary=0 = DEFAULT_JOURNAL_CACHE
diff-cache @ PREFIX oak.documentstore. C DESCRIPTION oak.nodestore.description F FWK_PROP_URI
oak.mongo.uri I FWK_PROP_DB oak.mongo.db L PROP_URI mongouri O +Lorg/apache/felix/scr/annotations/Property; value Mongo URI ?Mongo connection URI used to connect to Mongo. Refer to http://docs.mongodb.org/manual/reference/connection-string/ for details. Note that this value can be overridden via framework property 'oak.mongo.uri' PROP_DB db V
Mongo DB name kName of the database in Mongo. Note that this value can be overridden via framework property 'oak.mongo.db'
PROP_CACHE cache [ intValue Cache Size (in MB) TCache size in MB. This is distributed among various caches used in DocumentNodeStore PROP_NODE_CACHE_PERCENTAGE nodeCachePercentage a # NodeState Cache 6Percentage of cache to be allocated towards Node cache PROP_PREV_DOC_CACHE_PERCENTAGE prevDocCachePercentage g PreviousDocument Cache CPercentage of cache to be allocated towards Previous Document cache PROP_CHILDREN_CACHE_PERCENTAGE childrenCachePercentage m NodeState Children Cache :Percentage of cache to be allocated towards Children cache PROP_DIFF_CACHE_PERCENTAGE diffCachePercentage s
Diff Cache 6Percentage of cache to be allocated towards Diff cache PROP_CACHE_SEGMENT_COUNT cacheSegmentCount y LIRS Cache Segment Count ?The number of segments in the LIRS cache (default 16, a higher count means higher concurrency but slightly lower cache hit rate) PROP_CACHE_STACK_MOVE_DISTANCE cacheStackMoveDistance ~ LIRS Cache Stack Move Distance ?The delay to move entries to the head of the queue in the LIRS cache (default 16, a higher value means higher concurrency but slightly lower cache hit rate) PROP_BLOB_CACHE_SIZE
blobCacheSize ? Blob Cache Size (in MB) aCache size to store blobs in memory. Used only with default BlobStore (as per DocumentStore type) PROP_PERSISTENT_CACHE persistentCache ? Persistent Cache Config ?Configuration for persistent cache. Refer to http://jackrabbit.apache.org/oak/docs/nodestore/persistent-cache.html for various options PROP_JOURNAL_CACHE journalCache ? Journal Cache Config ?Configuration for journal cache. Refer to http://jackrabbit.apache.org/oak/docs/nodestore/persistent-cache.html for various options CUSTOM_BLOB_STORE customBlobStore ? boolValue Custom BlobStore ?Boolean value indicating that a custom BlobStore is to be used. By default, for MongoDB, MongoBlobStore is used; for RDB, RDBBlobStore is used. "DEFAULT_JOURNAL_GC_INTERVAL_MILLIS ?? PROP_JOURNAL_GC_INTERVAL_MILLIS journalGCInterval ? longValue ,Journal Garbage Collection Interval (millis) Long value indicating interval (in milliseconds) with which the journal (for external changes) is cleaned up. Default is 300000 !DEFAULT_JOURNAL_GC_MAX_AGE_MILLIS I? PROP_JOURNAL_GC_MAX_AGE_MILLIS journalGCMaxAge ? 'Maximum Age of Journal Entries (millis) ?Long value indicating max age (in milliseconds) that journal (for external changes) entries are kept (older ones are candidates for gc). Default is 21600000 PROP_PREFETCH_EXTERNAL_CHANGES prefetchExternalChanges ? Pre-fetch external changes ZBoolean value indicating if external changes should be pre-fetched in a background thread. log Lorg/slf4j/Logger; nodeStoreReg (Lorg/osgi/framework/ServiceRegistration;
registrations Ljava/util/List; ILjava/util/List; executor =Lorg/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor; blobStore .Lorg/apache/jackrabbit/oak/spi/blob/BlobStore; ,Lorg/apache/felix/scr/annotations/Reference; cardinality 7Lorg/apache/felix/scr/annotations/ReferenceCardinality; OPTIONAL_UNARY 2Lorg/apache/felix/scr/annotations/ReferencePolicy; DYNAMIC target 3(&(!(split.blobstore=old))(!(split.blobstore=new)))
dataSource Ljavax/sql/DataSource; (datasource.name=oak) blobDataSource nodeStateCache CLorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStateCache; nodeStore >Lorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStore; observerTracker 0Lorg/apache/jackrabbit/oak/osgi/ObserverTracker; context -Lorg/osgi/service/component/ComponentContext;
whiteboard 5Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard; deactivationTimestamp DEFAULT_VER_GC_MAX_AGE Q? PROP_VER_GC_MAX_AGE versionGcMaxAgeInSecs ? Version GC Max Age (in secs)ZVersion Garbage Collector (GC) logic will only consider those deleted for GC which are not accessed recently (currentTime - lastModifiedTime > versionGcMaxAgeInSecs). For example as per default only those document which have been *marked* deleted 24 hrs ago will be considered for GC. This also applies how older revision of live document are GC. PROP_REV_RECOVERY_INTERVAL lastRevRecoveryJobIntervalInSecs ? DEFAULT_BLOB_GC_MAX_AGE PROP_BLOB_GC_MAX_AGE blobGcMaxAgeInSecs ? Blob GC Max Age (in secs)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 DEFAULT_BLOB_SNAPSHOT_INTERVAL ?? PROP_BLOB_SNAPSHOT_INTERVAL blobTrackSnapshotIntervalInSecs ? )Blob tracking snapshot interval (in secs)This is the default interval in which the snapshots of locally tracked blob ids willbe taken and synchronized with the blob store. This should be configured to be less than the frequency of blob GC so that deletions during blob GC can be accounted for in the next GC execution. DEFAULT_PROP_HOME ./repository ? PROP_HOME repository.home ? Root directoryRoot directory for local tracking of blob ids. This service will first lookup the 'repository.home' framework property and then a component context property with the same name. If none of them is defined, a sub directory 'repository' relative to the current working directory is used. DEFAULT_MAX_REPLICATION_LAG T` PROP_REPLICATION_LAG maxReplicationLagInSecs ? Max Replication Lag (in secs) ?Value in seconds. Determines the duration beyond which it can be safely assumed that the state on the secondaries is consistent with the primary, and it is safe to read from them PROP_DS_TYPE documentStoreType ? options 1Lorg/apache/felix/scr/annotations/PropertyOption; name MONGO RDB DocumentStore Type ?Type of DocumentStore to use for persistence. Defaults to MONGO DEFAULT_BUNDLING_DISABLED Z PROP_BUNDLING_DISABLED bundlingDisabled Bundling Disabled 7Boolean value indicating that Node bundling is disabled WLorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService$DocumentStoreType; statisticsProvider 4Lorg/apache/jackrabbit/oak/stats/StatisticsProvider; blobStoreReg defaultBlobStore ()V
getClass ()Ljava/lang/Class;
org/slf4j/LoggerFactory getLogger %(Ljava/lang/Class;)Lorg/slf4j/Logger;
? ? java/util/ArrayList
? ? " ? - $ ? - & this ELorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService; activate ?(Lorg/osgi/service/component/ComponentContext;Ljava/util/Map;)V java/lang/Exception, +Lorg/apache/felix/scr/annotations/Activate; ? ? / -org/apache/jackrabbit/oak/osgi/OsgiWhiteboard1 +org/osgi/service/component/ComponentContext3 getBundleContext $()Lorg/osgi/framework/BundleContext;5647 %(Lorg/osgi/framework/BundleContext;)V9
2: ? ? < ;org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor>
? ? ? A start 8(Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard;)VCD
?E get &(Ljava/lang/Object;)Ljava/lang/Object;GH %I 0org/apache/jackrabbit/oak/commons/PropertiesUtilK toLong (Ljava/lang/Object;J)JMN
LO prop &(Ljava/lang/String;)Ljava/lang/String;QR
S toBoolean (Ljava/lang/Object;Z)ZUV
LW ? Y ? toString 8(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;\]
L^
fromString k(Ljava/lang/String;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService$DocumentStoreType;`a
b ?
d registerNodeStoreIfPossiblef
g config $Ljava/util/Map; Ljava/util/Map; java/io/IOExceptionl 5DocumentNodeStore was already unregistered ({}ms ago)n java/lang/Systemp currentTimeMillis ()Jrs
qt java/lang/Longv valueOf (J)Ljava/lang/Long;xy
wz org/slf4j/Logger| info '(Ljava/lang/String;Ljava/lang/Object;)V~}? ?Component still not activated. Ignoring the initialization call? (Ljava/lang/String;)V~?}? ? ? ? mCustom BlobStore use enabled. DocumentNodeStoreService would be initialized when BlobStore would be available?
? ? ? ? ? ? ? ?DataSource use enabled. DocumentNodeStoreService would be initialized when DataSource would be available (currently available: nodes: {}, blobs: {})? 9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V~?}? registerNodeStore?
? java/lang/RuntimeException? 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;Q?
? toInteger (Ljava/lang/Object;I)I??
L? getPath??
?
? setStatisticsProvider u(Lorg/apache/jackrabbit/oak/stats/StatisticsProvider;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;??
? memoryCacheSize B(J)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;??
? memoryCacheDistribution E(IIII)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;??
? setCacheSegmentCount B(I)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;??
? setCacheStackMoveDistance??
? setBundlingDisabled B(Z)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;??
? :org/apache/jackrabbit/oak/plugins/document/ClusterNodeInfo? DEFAULT_LEASE_CHECK_DISABLED? ??
setLeaseCheck??
? H(Lorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService;)V?
? setLeaseFailureHandler ?(Lorg/apache/jackrabbit/oak/plugins/document/LeaseFailureHandler;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;??
? setPrefetchExternalChanges??
? com/google/common/base/Strings?
isNullOrEmpty (Ljava/lang/String;)Z??
?? setPersistentCache S(Ljava/lang/String;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;??
? setJournalCache??
? 3org/apache/jackrabbit/oak/spi/blob/BlobStoreWrapper? QUse of custom BlobStore enabled via [%s] but blobStore reference not initialized? $com/google/common/base/Preconditions? checkNotNull K(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;??
?? setBlobStore o(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;??
? @DataStore type set [%s] but DataSource reference not initialized? DDataStore type set [%s] but BlobDataSource reference not initialized? setRDBConnection m(Ljavax/sql/DataSource;Ljavax/sql/DataSource;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;??
? Connected to datasources {} {}? AIgnoring blobDataSource {} as custom blob store takes precedence.? W(Ljavax/sql/DataSource;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;??
? Connected to datasource {}? com/mongodb/MongoClientURI??
??
isInfoEnabled ()Z} ?Starting DocumentNodeStore with host={}, db={}, cache size (MB)={}, persistentCache={}, journalCache={}, blobCacheSize (MB)={}, maxReplicationLagInSecs={} getHosts ()Ljava/util/List;
? java/lang/Integer (I)Ljava/lang/Integer;x
((Ljava/lang/String;[Ljava/lang/Object;)V~} Mongo Connection details {}
getOptions "()Lcom/mongodb/MongoClientOptions;
? ?org/apache/jackrabbit/oak/plugins/document/util/MongoConnection 4(Lcom/mongodb/MongoClientOptions;)Ljava/lang/String;\
java/util/concurrent/TimeUnit SECONDS Ljava/util/concurrent/TimeUnit; ! " setMaxReplicationLag a(JLjava/util/concurrent/TimeUnit;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;$%
&
setMongoDB f(Ljava/lang/String;Ljava/lang/String;I)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;()
* Connected to database '{}', getBlobStore 0()Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;./
0 ? 2 .Registering the BlobStore with ServiceRegistry4 ,org/apache/jackrabbit/oak/spi/blob/BlobStore6 java/lang/Class8 getName ()Ljava/lang/String;:;
9< org/osgi/framework/BundleContext> registerService d(Ljava/lang/String;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistration;@A?B
? D 1(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)V?F?G setExecutor `(Ljava/util/concurrent/Executor;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;IJ
K getNodeStore @()Lorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStore;MN
O ? ? Q 1org/apache/jackrabbit/oak/util/GenericDescriptorsS
T
oak.clusteridV 0org/apache/jackrabbit/commons/SimpleValueFactoryX
Y Borg/apache/jackrabbit/oak/plugins/identifier/ClusterRepositoryInfo[
getOrCreateId C(Lorg/apache/jackrabbit/oak/spi/state/NodeStore;)Ljava/lang/String;]^
\_ createValue %(Ljava/lang/String;)Ljavax/jcr/Value;ab
Yc put Z(Ljava/lang/String;Ljavax/jcr/Value;ZZ)Lorg/apache/jackrabbit/oak/util/GenericDescriptors;ef
Tg )org/apache/jackrabbit/oak/api/Descriptorsi java/util/Collectionsk emptyMap ()Ljava/util/Map;mn
lo 3org/apache/jackrabbit/oak/spi/whiteboard/Whiteboardq register k(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/Map;)Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;stru isShared 1(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)Zwx
*y 6org/apache/jackrabbit/oak/plugins/blob/SharedDataStore{ java/io/ByteArrayInputStream} ([B)V
~?
REPOSITORY ]Lorg/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils$SharedStoreRecordType;?? (?
getNameFromId?R
(? addMetadataRecord *(Ljava/io/InputStream;Ljava/lang/String;)V??|? (Could not register a unique repositoryId? *(Ljava/lang/String;Ljava/lang/Throwable;)V?
m? 8org/apache/jackrabbit/oak/plugins/blob/BlobTrackingStore? getRepositoryHome?;
?
getTracker @()Lorg/apache/jackrabbit/oak/plugins/blob/datastore/BlobTracker;????