All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.class Maven / Gradle / Ivy

There is a newer version: 1.74.0
Show newest version
????3)9org/apache/jackrabbit/oak/segment/SegmentNodeStoreService2org/apache/jackrabbit/oak/spi/state/ProxyNodeStore/org/apache/jackrabbit/oak/spi/commit/Observable6org/apache/jackrabbit/oak/segment/SegmentStoreProviderSegmentNodeStoreService.java,Lorg/apache/felix/scr/annotations/Component;policy6Lorg/apache/felix/scr/annotations/ConfigurationPolicy;REQUIREmetatypelabel/Apache Jackrabbit Oak Segment NodeStore Servicedescription?NodeStore implementation based on Segment 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;org/apache/jackrabbit/oak/segment/SegmentNodeStoreService$1Jorg/apache/jackrabbit/oak/segment/SegmentNodeStore$SegmentNodeStoreBuilder2org/apache/jackrabbit/oak/segment/SegmentNodeStoreSegmentNodeStoreBuilder[org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils$SharedStoreRecordTypeEorg/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtilsSharedStoreRecordTypeNAMELjava/lang/String;name"	DIRECTORYrepository.home%+Lorg/apache/felix/scr/annotations/Property;	Directory?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'MODE
tarmk.mode+Mode=TarMK mode (64 for memory mapping, 32 for normal file access)SIZE
tarmk.size0intValueMaximum Tar File Size (MB)TarMK maximum file size (MB)CACHEcache7Cache size (MB)2Cache size for storing most recently used SegmentsCOMPACTION_MEMORY_THRESHOLDcompaction.memoryThreshold<	byteValueMemory MultiplierETarMK compaction available memory multiplier needed to run compactionCOMPACTION_GAIN_THRESHOLDcompaction.gainThresholdC
Compaction gain threshold?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.PAUSE_COMPACTIONpauseCompactionI	boolValuePause Compaction.When enabled compaction would not be performedCOMPACTION_RETRY_COUNTcompaction.retryCountPCompaction RetriesQNumber of tries to compact concurrent commits on top of already compacted commitsCOMPACTION_FORCE_AFTER_FAILcompaction.forceAfterFailUForce Compaction?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.!COMPACTION_LOCK_WAIT_TIME_DEFAULTI<COMPACTION_LOCK_WAIT_TIMEcompaction.lockWaitTime]Compaction Lock Wait Time?Number of seconds to wait for the lock for committing compacted changes respectively to wait for the exclusive write lock for force committing.STANDBYstandbybStandby ModedFlag indicating that this component will not register as a NodeStore but just as a NodeStoreProviderCUSTOM_BLOB_STOREcustomBlobStoregCustom BlobStore?Boolean value indicating that a custom BlobStore is to be used. By default large binary content would be stored within segment tar fileslogLorg/slf4j/Logger;store2Lorg/apache/jackrabbit/oak/segment/file/FileStore;segmentNodeStore4Lorg/apache/jackrabbit/oak/segment/SegmentNodeStore;observerTracker0Lorg/apache/jackrabbit/oak/osgi/ObserverTracker;	gcMonitor3Lorg/apache/jackrabbit/oak/spi/gc/GCMonitorTracker;context-Lorg/osgi/service/component/ComponentContext;	blobStore.Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;,Lorg/apache/felix/scr/annotations/Reference;cardinality7Lorg/apache/felix/scr/annotations/ReferenceCardinality;OPTIONAL_UNARY2Lorg/apache/felix/scr/annotations/ReferencePolicy;DYNAMICtarget3(&(!(split.blobstore=old))(!(split.blobstore=new)))statisticsProvider4Lorg/apache/jackrabbit/oak/stats/StatisticsProvider;storeRegistration(Lorg/osgi/framework/ServiceRegistration;providerRegistrationcheckpointRegistration7Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;revisionGCRegistrationblobGCRegistrationgcOptionsRegistrationsegmentCacheMBeanstringCacheMBeanfsgcMonitorMBeanfileStoreStatsMBeanexecutor=Lorg/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor;Z#discoveryLiteDescriptorRegistrationclusterIdDescriptorRegistrationDEFAULT_BLOB_GC_MAX_AGEJQ?PROP_BLOB_GC_MAX_AGEblobGcMaxAgeInSecs?	longValueBlob 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()V??
?java/lang/Object?getClass()Ljava/lang/Class;??
??org/slf4j/LoggerFactory?	getLogger%(Ljava/lang/Class;)Lorg/slf4j/Logger;??
??kl	?2org/apache/jackrabbit/oak/stats/StatisticsProvider?NOOP??	????	?this;Lorg/apache/jackrabbit/oak/segment/SegmentNodeStoreService;getNodeStore6()Lorg/apache/jackrabbit/oak/segment/SegmentNodeStore;op	?#service must be activated when used?$com/google/common/base/Preconditions?
checkState(ZLjava/lang/Object;)V??
??activate0(Lorg/osgi/service/component/ComponentContext;)Vjava/io/IOException?+Lorg/apache/felix/scr/annotations/Activate;uv	?property&(Ljava/lang/String;)Ljava/lang/String;??
?java/lang/Boolean?parseBoolean(Ljava/lang/String;)Z??
??g?	?wx	?^BlobStore use enabled. SegmentNodeStore would be initialized when BlobStore would be available?org/slf4j/Logger?info(Ljava/lang/String;)V????registerNodeStore??
?
bindBlobStore1(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)VunbindBlobStoreunregisterNodeStore??
?
deactivate-Lorg/apache/felix/scr/annotations/Deactivate;qr	?.org/apache/jackrabbit/oak/osgi/ObserverTracker?stop??
??st	?1org/apache/jackrabbit/oak/spi/gc/GCMonitorTracker?
??mn	?0org/apache/jackrabbit/oak/segment/file/FileStore?close??
??java/lang/ThrowableregisterSegmentStore()Z
0org/apache/jackrabbit/oak/commons/PropertiesUtil	toBoolean(Ljava/lang/Object;Z)Z	

registerSegmentNodeStore

java/util/Hashtable
?service.pidjava/lang/ClassgetName()Ljava/lang/String;
java/util/Dictionaryput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
oak.nodestore.description java/lang/String"nodeStoreType=segment$+org/osgi/service/component/ComponentContext&getBundleContext$()Lorg/osgi/framework/BundleContext;()'*-org/apache/jackrabbit/oak/spi/state/NodeStore, org/osgi/framework/BundleContext.registerServiced(Ljava/lang/String;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistration;01/2??	4props;Ljava/util/Dictionary;?Component still not activated. Ignoring the initialization call9-org/apache/jackrabbit/oak/osgi/OsgiWhiteboard;%(Lorg/osgi/framework/BundleContext;)V?=
<>
??start8(Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard;)VAB
?CnewGCOptionsA()Lorg/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions;EF
GgetDirectory()Ljava/io/File;IJ
K7org/apache/jackrabbit/oak/segment/file/FileStoreBuilderMfileStoreBuilderI(Ljava/io/File;)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;OP
NQgetCacheSize()IST
U
withCacheSize<(I)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;WX
NYgetMaxFileSize[T
\withMaxFileSize^X
N_getModea
b64dequals(Ljava/lang/Object;)Zfg
#hwithMemoryMapping<(Z)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;jk
Nl
withGCMonitorg(Lorg/apache/jackrabbit/oak/spi/gc/GCMonitor;)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;no
NpwithStatisticsProvidero(Lorg/apache/jackrabbit/oak/stats/StatisticsProvider;)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;rs
Nt
withGCOptionsz(Lorg/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions;)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;vw
Nx1Initializing SegmentNodeStore with BlobStore [{}]z'(Ljava/lang/String;Ljava/lang/Object;)V?|?}
withBlobStorei(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;?
N?build4()Lorg/apache/jackrabbit/oak/segment/file/FileStore;??
N?>org/apache/jackrabbit/oak/segment/compaction/SegmentRevisionGC?Corg/apache/jackrabbit/oak/segment/compaction/SegmentRevisionGCMBean?B(Lorg/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions;)V??
?? SegmentRevisionGarbageCollection?Segment node store gc options?8org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils?
registerMBean?(Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;??
????	?getSegmentCacheStats.()Lorg/apache/jackrabbit/oak/cache/CacheStats;??
??1org/apache/jackrabbit/oak/api/jmx/CacheStatsMBean?
CacheStats?*org/apache/jackrabbit/oak/cache/CacheStats?
???	?getStringCacheStats??
????	?;org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor?
????	?
?C>(Lorg/apache/jackrabbit/oak/segment/SegmentNodeStoreService;)V??
?3org/apache/jackrabbit/oak/spi/state/RevisionGCMBean?.org/apache/jackrabbit/oak/spi/state/RevisionGC?6(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V??
??RevisionGarbageCollection?.Segment node store revision garbage collection???	?:org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean?getStats9()Lorg/apache/jackrabbit/oak/segment/file/FileStoreStats;??
??FileStoreStats?FileStore statistics???	?9org/apache/jackrabbit/oak/segment/file/FileStoreGCMonitor?%org/apache/jackrabbit/oak/stats/Clock?SIMPLE'Lorg/apache/jackrabbit/oak/stats/Clock;??	??*(Lorg/apache/jackrabbit/oak/stats/Clock;)V??
??>org/apache/jackrabbit/oak/spi/whiteboard/CompositeRegistration?5org/apache/jackrabbit/oak/spi/whiteboard/Registration?*org/apache/jackrabbit/oak/spi/gc/GCMonitor?java/util/Collections?emptyMap()Ljava/util/Map;??
??registerk(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/Map;)Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;??
<?5org/apache/jackrabbit/oak/segment/file/GCMonitorMBean?
GC Monitor?%File Store garbage collection monitor?scheduleWithFixedDelay?(Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard;Ljava/lang/Runnable;J)Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;??
??;([Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;)V??
????	???	?
whiteboard/Lorg/apache/jackrabbit/oak/osgi/OsgiWhiteboard;	gcOptions?Lorg/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions;builder9Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;segmentCacheStats,Lorg/apache/jackrabbit/oak/cache/CacheStats;stringCacheStatstriggerGarbageCollectionLjava/lang/Runnable;fsgcm;Lorg/apache/jackrabbit/oak/segment/file/FileStoreGCMonitor;=org/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions	toInteger(Ljava/lang/Object;I)I	

getMemoryThreshold()B

getGainThreshold
	(ZIIIZI)V?
setForceAfterFailB(Z)Lorg/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions;

retryCountforceAfterFaillockWaitTimememoryThresholdB
gainThresholdsegmentGCOptionsjava/lang/Exception"
getProperties()Ljava/util/Dictionary;$%'&get&(Ljava/lang/Object;)Ljava/lang/Object;()
*valueOf&(Ljava/lang/Object;)Ljava/lang/String;,-
#."!	0toLong(Ljava/lang/Object;J)J23
4:org/apache/jackrabbit/oak/segment/SegmentNodeStoreBuilders6?(Lorg/apache/jackrabbit/oak/segment/file/FileStore;)Lorg/apache/jackrabbit/oak/segment/SegmentNodeStore$SegmentNodeStoreBuilder;?8
79??
;4(Lorg/apache/jackrabbit/oak/spi/commit/Observable;)V?=
?>A=
?@1org/apache/jackrabbit/oak/api/jmx/CheckpointMBeanB8org/apache/jackrabbit/oak/segment/SegmentCheckpointMBeanD7(Lorg/apache/jackrabbit/oak/segment/SegmentNodeStore;)V?F
EGCheckpointMangerI(Segment node store checkpoint managementK??	M1org/apache/jackrabbit/oak/util/GenericDescriptorsO
P?
oak.clusteridR0org/apache/jackrabbit/commons/SimpleValueFactoryT
U?Borg/apache/jackrabbit/oak/plugins/identifier/ClusterRepositoryInfoW
getOrCreateIdC(Lorg/apache/jackrabbit/oak/spi/state/NodeStore;)Ljava/lang/String;YZ
X[createValue%(Ljava/lang/String;)Ljavax/jcr/Value;]^
U_Z(Ljava/lang/String;Ljavax/jcr/Value;ZZ)Lorg/apache/jackrabbit/oak/util/GenericDescriptors;a
Pb)org/apache/jackrabbit/oak/api/Descriptorsd??	fAorg/apache/jackrabbit/oak/segment/SegmentDiscoveryLiteDescriptorsh2(Lorg/apache/jackrabbit/oak/spi/state/NodeStore;)V?j
ik??	moisShared1(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)Zqr
s6org/apache/jackrabbit/oak/plugins/blob/SharedDataStoreujava/io/ByteArrayInputStreamw([B)V?y
xz
REPOSITORY]Lorg/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils$SharedStoreRecordType;|}	~
getNameFromId??
?addMetadataRecord*(Ljava/io/InputStream;Ljava/lang/String;)V??v?(Could not register a unique repositoryId?*(Ljava/lang/String;Ljava/lang/Throwable;)V??
??getBlobStore0()Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;??
??>org/apache/jackrabbit/oak/spi/blob/GarbageCollectableBlobStore?@org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector??org/apache/jackrabbit/oak/segment/SegmentBlobReferenceRetriever?5(Lorg/apache/jackrabbit/oak/segment/file/FileStore;)V??
??java/util/concurrent/TimeUnit?SECONDSLjava/util/concurrent/TimeUnit;??	??toMillis(J)J??
???(Lorg/apache/jackrabbit/oak/plugins/blob/BlobReferenceRetriever;Lorg/apache/jackrabbit/oak/spi/blob/GarbageCollectableBlobStore;Ljava/util/concurrent/Executor;JLjava/lang/String;)V??
??2org/apache/jackrabbit/oak/plugins/blob/BlobGCMBean?-org/apache/jackrabbit/oak/plugins/blob/BlobGC?_(Lorg/apache/jackrabbit/oak/plugins/blob/BlobGarbageCollector;Ljava/util/concurrent/Executor;)V??
??BlobGarbageCollection?*Segment node store blob garbage collection???	?SegmentNodeStore initialized?eLjava/lang/Exception;gc=Lorg/apache/jackrabbit/oak/plugins/blob/BlobGarbageCollector;
propertiesLjava/util/Dictionary<**>;
clusterIdDesc3Lorg/apache/jackrabbit/oak/util/GenericDescriptors;repoId
unregister????&org/osgi/framework/ServiceRegistration???
??getBaseDirectoryjava/io/File???
??tarmk?	directory?J
?segmentstore?#(Ljava/io/File;Ljava/lang/String;)V??
??sun.arch.data.model?32?java/lang/System?getProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;??
??modegetCacheSizeProperty??
???
?java/lang/Integer?parseInt(Ljava/lang/String;)I??
??getMaxFileSizeProperty256?size?
?java/lang/Byte?$(Ljava/lang/String;)Ljava/lang/Byte;,?
??>
??mtgt'org/apache/jackrabbit/oak/osgi/OsgiUtil? lookupConfigurationThenFrameworkS(Lorg/osgi/service/component/ComponentContext;Ljava/lang/String;)Ljava/lang/String;??
??getSegmentStore2()Lorg/apache/jackrabbit/oak/segment/SegmentStore;addObserverD(Lorg/apache/jackrabbit/oak/spi/commit/Observer;)Ljava/io/Closeable;??

observer/Lorg/apache/jackrabbit/oak/spi/commit/Observer;toStringjava/lang/StringBuilder

?append-(Ljava/lang/String;)Ljava/lang/StringBuilder;

: -(Ljava/lang/Object;)Ljava/lang/StringBuilder;

	
1()Lorg/apache/jackrabbit/oak/spi/state/NodeStore;
access$000o(Lorg/apache/jackrabbit/oak/segment/SegmentNodeStoreService;)Lorg/apache/jackrabbit/oak/segment/file/FileStore;x0bindStatisticsProvider7(Lorg/apache/jackrabbit/oak/stats/StatisticsProvider;)VunbindStatisticsProvider
ConstantValueRuntimeInvisibleAnnotationsCodeLocalVariableTableLineNumberTable
StackMapTable
ExceptionsLocalVariableTypeTable
SourceFileInnerClasses!' !#$!& 's(s)*!, 's-s./!1 '2[I3s4s56!8 '2[I3s9s:;!= '>[B?s@sAB!D '>[BEsFsGH!J 'K[ZLsMsNO!Q '2[I?sRsST!V 'K[ZLsWsXYZ[\!^ '2[I[s_s`a!c 'K[ZLsdsef!h 'K[ZLsisjkl"!mnBopqrstuvBwx yze{|e}~s??? y??????????????????????g?????????!? '?[J?s?s???!I*??**??????*?????"??#o????!O*???????*???"??#
$@??!?3*+??**h?ϸյ?*???*?י*??۹??*??"3??3uv#	
 
.2$.%? ???!F
*+??*??"
??
wx#	%???!F
*??*??"
??
wx#	??!?G*??*YL?*???
*???*???
*????*??*???*????*??+çM+?,??>AADA"G??#2!"#%&$()*0+7,<.F/$?
D ?"??!?^*??Y*c?????*??D?Y?L+??W+!?#Y%S?W**?˹+-?*+?3?5?"$968^??&$967#&	23478$91:C;]>$?G%?!??*???*??:????f??s1??????
?OU#?)ABCF&J1K9N>QFRMSTTdUkVoWsYzZ?[?^?b?l?m?r?m?w?x?|?x?????
?+?4?=?C?O?`?u??????$?}<N%?EF!?V*J???<*Q???=*V???>*^??
?A$
?J!m*&??L+???Y+?ɰ??Y˷ɰ"???!#DFGJ$?#IJ!9??Y*??зӰ"??#Na!j*,??L+?+?,?׸ݸݰ"???!#RTU
X$?
#?!a*8??L+?+?8??"??7!#\^_
b$?
#ST!2*???"??#f?!d*1??L+?+?1?ݰ"???!#jlm
p$?
#[T!2*???"??#t
!c*=??L+??+?????"???!#xz{
~$?
#!d*D??L+?
?+?????"???!#????$?#??!=	*??+???"	??	"!#??!/*???"??#?!=	*?+??"	??	#?	!I?Y?*?1??*?????"??#?D?!/*??"??#f!/*???"?#o!*+???!#*??+?*???$
'	(	@ 
e
Zss




© 2015 - 2025 Weber Informatics LLC | Privacy Policy