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_SO_KEEP_ALIVE Z DEFAULT_PERSISTENT_CACHE cache,binary=0 @ DEFAULT_JOURNAL_CACHE
diff-cache C PREFIX oak.documentstore. F DESCRIPTION oak.nodestore.description I FWK_PROP_URI
oak.mongo.uri L FWK_PROP_DB oak.mongo.db O FWK_PROP_SO_KEEP_ALIVE oak.mongo.socketKeepAlive R PROP_URI mongouri U +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 \
Mongo DB name kName of the database in Mongo. Note that this value can be overridden via framework property 'oak.mongo.db' PROP_SO_KEEP_ALIVE socketKeepAlive a boolValue MongoDB socket keep-alive option ?Whether socket keep-alive should be enabled for connections to MongoDB. Note that this value can be overridden via framework property 'oak.mongo.socketKeepAlive'
PROP_CACHE cache g intValue Cache Size (in MB) TCache size in MB. This is distributed among various caches used in DocumentNodeStore PROP_NODE_CACHE_PERCENTAGE nodeCachePercentage m # NodeState Cache 6Percentage of cache to be allocated towards Node cache PROP_PREV_DOC_CACHE_PERCENTAGE prevDocCachePercentage s PreviousDocument Cache CPercentage of cache to be allocated towards Previous Document cache PROP_CHILDREN_CACHE_PERCENTAGE childrenCachePercentage y NodeState Children Cache :Percentage of cache to be allocated towards Children cache PROP_DIFF_CACHE_PERCENTAGE diffCachePercentage
Diff Cache 6Percentage of cache to be allocated towards Diff cache PROP_CACHE_SEGMENT_COUNT cacheSegmentCount ? 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 ? 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; journalPropertyHandlerFactory JLorg/apache/jackrabbit/oak/plugins/document/JournalPropertyHandlerFactory; 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 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*
+ ? ? - Horg/apache/jackrabbit/oak/plugins/document/JournalPropertyHandlerFactory/
0 ? ? 2 ? - 4 - 6 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/OsgiWhiteboardA +org/osgi/service/component/ComponentContextC getBundleContext $()Lorg/osgi/framework/BundleContext;EFDG %(Lorg/osgi/framework/BundleContext;)VI
BJ ? ? L ;org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutorN
O ? ? Q start 8(Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard;)VST
OU get &(Ljava/lang/Object;)Ljava/lang/Object;WX %Y 0org/apache/jackrabbit/oak/commons/PropertiesUtil[ toLong (Ljava/lang/Object;J)J]^
\_ prop &(Ljava/lang/String;)Ljava/lang/String;ab
c toBoolean (Ljava/lang/Object;Z)Zef
\g ? = i toString 8(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;lm
\n
fromString k(Ljava/lang/String;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService$DocumentStoreType;pq
r t registerNodeStoreIfPossiblev
w config $Ljava/util/Map; Ljava/util/Map; java/io/IOException| 5DocumentNodeStore was already unregistered ({}ms ago)~ java/lang/System? currentTimeMillis ()J??
?? java/lang/Long? valueOf (J)Ljava/lang/Long;??
?? 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;a?
? toInteger (Ljava/lang/Object;I)I??
\? 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;??
? setJournalPropertyHandlerFactory ?(Lorg/apache/jackrabbit/oak/plugins/document/JournalPropertyHandlerFactory;)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;?!
" ((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;l/
.0 java/util/concurrent/TimeUnit2 SECONDS Ljava/util/concurrent/TimeUnit;45 36 setMaxReplicationLag a(JLjava/util/concurrent/TimeUnit;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;89
: setSocketKeepAlive<?
=
setMongoDB f(Ljava/lang/String;Ljava/lang/String;I)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;?@
A Connected to database '{}'C getBlobStore 0()Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;EF
G ? I .Registering the BlobStore with ServiceRegistryK ,org/apache/jackrabbit/oak/spi/blob/BlobStoreM java/lang/ClassO getName ()Ljava/lang/String;QR
PS org/osgi/framework/BundleContextU registerService d(Ljava/lang/String;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistration;WXVY ? [ 1(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)V?]?^ setExecutor `(Ljava/util/concurrent/Executor;)Lorg/apache/jackrabbit/oak/plugins/document/DocumentMK$Builder;`a
b getNodeStore @()Lorg/apache/jackrabbit/oak/plugins/document/DocumentNodeStore;de
f ? ? h 1org/apache/jackrabbit/oak/util/GenericDescriptorsj
k
oak.clusteridm 0org/apache/jackrabbit/commons/SimpleValueFactoryo
p Borg/apache/jackrabbit/oak/plugins/identifier/ClusterRepositoryInfor
getOrCreateId C(Lorg/apache/jackrabbit/oak/spi/state/NodeStore;)Ljava/lang/String;tu
sv createValue %(Ljava/lang/String;)Ljavax/jcr/Value;xy
pz put Z(Ljava/lang/String;Ljavax/jcr/Value;ZZ)Lorg/apache/jackrabbit/oak/util/GenericDescriptors;|}
k~ )org/apache/jackrabbit/oak/api/Descriptors? java/util/Collections? emptyMap ()Ljava/util/Map;??
?? 3org/apache/jackrabbit/oak/spi/whiteboard/Whiteboard? register k(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/Map;)Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;???? isShared 1(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)Z??
*? 6org/apache/jackrabbit/oak/plugins/blob/SharedDataStore? java/io/ByteArrayInputStream? ([B)V?
??
REPOSITORY ]Lorg/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils$SharedStoreRecordType;?? (?
getNameFromId?b
(? addMetadataRecord *(Ljava/io/InputStream;Ljava/lang/String;)V???? (Could not register a unique repositoryId? *(Ljava/lang/String;Ljava/lang/Throwable;)V?
}? 8org/apache/jackrabbit/oak/plugins/blob/BlobTrackingStore? getRepositoryHome?R
?
getTracker @()Lorg/apache/jackrabbit/oak/plugins/blob/datastore/BlobTracker;????