org.apache.jackrabbit.oak.plugins.index.AsyncIndexerService.class Maven / Gradle / Ivy
???? 3? ;org/apache/jackrabbit/oak/plugins/index/AsyncIndexerService java/lang/Object AsyncIndexerService.java ,Lorg/apache/felix/scr/annotations/Component; policy 6Lorg/apache/felix/scr/annotations/ConfigurationPolicy; REQUIRE metatype label +Apache Jackrabbit Oak Async Indexer Service description \Configures the async indexer services which performs periodic indexing of repository content =org/apache/jackrabbit/oak/plugins/index/AsyncIndexerService$1 Gorg/apache/jackrabbit/oak/plugins/index/AsyncIndexerService$AsyncConfig AsyncConfig PROP_ASYNC_CONFIG Ljava/lang/String; asyncConfigs +Lorg/apache/felix/scr/annotations/Property; value async:5 cardinality Async Indexer Configs MAsync indexer configs in the form of : e.g. "async:5" PROP_LEASE_TIMEOUT_DEFAULT I PROP_LEASE_TIME_OUT leaseTimeOutMinutes $ intValue Lease time out mLease timeout in minutes. AsyncIndexer would wait for this timeout period before breaking async indexer lease "PROP_FAILING_INDEX_TIMEOUT_DEFAULT J PROP_FAILING_INDEX_TIMEOUT failingIndexTimeoutSeconds . longValue Failing Index Timeout (s) ?Time interval in seconds after which a failing index is considered as corrupted and ignored from further indexing untill reindex. To disable this set it to 0 PROP_ERROR_WARN_INTERVAL_DEFAULT ? PROP_ERROR_WARN_INTERVAL errorWarnIntervalSeconds 7 Error warn interval (s) ?Time interval in seconds after which a warning log would be logged for skipped indexes. This is done to avoid flooding the log in case of corrupted index.
CONFIG_SEP C : log Lorg/slf4j/Logger; indexEditorProvider HLorg/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexEditorProvider; nodeStore /Lorg/apache/jackrabbit/oak/spi/state/NodeStore; ,Lorg/apache/felix/scr/annotations/Reference; validatorProvider 8Lorg/apache/jackrabbit/oak/spi/commit/ValidatorProvider; target (type=changeCollectorProvider) statisticsProvider 4Lorg/apache/jackrabbit/oak/stats/StatisticsProvider; indexRegistration @Lorg/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration; closer Lcom/google/common/io/Closer; ()V O P
Q getClass ()Ljava/lang/Class; S T
U org/slf4j/LoggerFactory W getLogger %(Ljava/lang/Class;)Lorg/slf4j/Logger; Y Z
X [ > ? ] Forg/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexEditorProvider _
` Q @ A b com/google/common/io/Closer d create ()Lcom/google/common/io/Closer; f g
e h M N j this =Lorg/apache/jackrabbit/oak/plugins/index/AsyncIndexerService; activate 4(Lorg/osgi/framework/BundleContext;Ljava/util/Map;)V +Lorg/apache/felix/scr/annotations/Activate;
java/util/Map q get &(Ljava/lang/Object;)Ljava/lang/Object; s t r u java/lang/String w 0org/apache/jackrabbit/oak/commons/PropertiesUtil y
toStringArray :(Ljava/lang/Object;[Ljava/lang/String;)[Ljava/lang/String; { |
z } getAsyncConfig %([Ljava/lang/String;)Ljava/util/List; ?
? -org/apache/jackrabbit/oak/osgi/OsgiWhiteboard ? %(Lorg/osgi/framework/BundleContext;)V O ?
? ? >org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration ? 8(Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard;)V O ?
? ? K L ? start ? ?
` ? toInteger (Ljava/lang/Object;I)I ? ?
z ? B C ? /org/apache/jackrabbit/oak/spi/state/Clusterable ? SDetected non clusterable setup. Lease checking would be disabled for async indexing ? org/slf4j/Logger ? info (Ljava/lang/String;)V ? ? ? ? createCorruptIndexHandler V(Ljava/util/Map;)Lorg/apache/jackrabbit/oak/plugins/index/TrackingCorruptIndexHandler; ? ?
? java/util/List ? iterator ()Ljava/util/Iterator; ? ? ? ? java/util/Iterator ? hasNext ()Z ? ? ? ? next ()Ljava/lang/Object; ? ? ? ? 8org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate ? name ? ? I J ? ?(Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/state/NodeStore;Lorg/apache/jackrabbit/oak/plugins/index/IndexEditorProvider;Lorg/apache/jackrabbit/oak/stats/StatisticsProvider;Z)V O ?
? ? setCorruptIndexHandler H(Lorg/apache/jackrabbit/oak/plugins/index/TrackingCorruptIndexHandler;)V ? ?
? ? E F ? java/util/Collections ?
singletonList $(Ljava/lang/Object;)Ljava/util/List; ? ?
? ? setValidatorProviders (Ljava/util/List;)V ? ?
? ? java/util/concurrent/TimeUnit ? MINUTES Ljava/util/concurrent/TimeUnit; ? ? ? ? toMillis (J)J ? ?
? ? setLeaseTimeOut =(J)Lorg/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate; ? ?
? ? timeIntervalInSecs ? * ? registerAsyncIndexer >(Lorg/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate;J)V ? ?
? ? register ((Ljava/io/Closeable;)Ljava/io/Closeable; ? ?
e ? Configured async indexers {} ? '(Ljava/lang/String;Ljava/lang/Object;)V ? ? ? ? ;Lease time: {} mins and AsyncIndexUpdate configured with {} ? java/lang/Long ? valueOf (J)Ljava/lang/Long; ? ?
? ? java/lang/Class ? getName ()Ljava/lang/String; ? ?
? ? 9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V ? ? ? ? task :Lorg/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate; c ILorg/apache/jackrabbit/oak/plugins/index/AsyncIndexerService$AsyncConfig; i$ Ljava/util/Iterator;
bundleContext "Lorg/osgi/framework/BundleContext; config 5Ljava/util/Map; Ljava/util/Map; asyncIndexerConfig [Ljava/util/List; Ljava/util/List;
whiteboard 5Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard; leaseTimeOutMin corruptIndexHandler ELorg/apache/jackrabbit/oak/plugins/index/TrackingCorruptIndexHandler; Corg/apache/jackrabbit/oak/plugins/index/TrackingCorruptIndexHandler
deactivate java/io/IOException -Lorg/apache/felix/scr/annotations/Deactivate;
unregister P
? close P
e toLong (Ljava/lang/Object;J)J
z
Q SECONDS# ? ?$ setCorruptInterval #(JLjava/util/concurrent/TimeUnit;)V&'
( setErrorWarnInterval*'
+ l[{}] is set to {}. Auto corrupt index isolation handling is disabled, warning log would be logged every {} s- ((Ljava/lang/String;[Ljava/lang/Object;)V ?/ ?0 ?Auto corrupt index isolation handling is enabled. Any async index which fails for {}s would be marked as corrupted and would be skipped from further indexing. A warning log would be logged every {} s2 com/google/common/collect/Lists4 newArrayList ()Ljava/util/ArrayList;67
58 indexOf (I)I:;
x< Invalid config provided [%s]> java/util/Arrays@ toString '([Ljava/lang/Object;)Ljava/lang/String;BC
AD $com/google/common/base/PreconditionsF
checkArgument )(ZLjava/lang/String;[Ljava/lang/Object;)VHI
GJ substring (II)Ljava/lang/String;LM
xN trimP ?
xQ (I)Ljava/lang/String;LS
xT parseLong (Ljava/lang/String;)JVW
?X U(Ljava/lang/String;JLorg/apache/jackrabbit/oak/plugins/index/AsyncIndexerService$1;)V OZ
[ add (Ljava/lang/Object;)Z]^ ?_ idOfEq interval arr$ [Ljava/lang/String; len$ configs resultd java/util/ArrayListi
bindNodeStore 2(Lorg/apache/jackrabbit/oak/spi/state/NodeStore;)V unbindNodeStore bindValidatorProvider ;(Lorg/apache/jackrabbit/oak/spi/commit/ValidatorProvider;)V unbindValidatorProvider bindStatisticsProvider 7(Lorg/apache/jackrabbit/oak/stats/StatisticsProvider;)V unbindStatisticsProvider
ConstantValue RuntimeInvisibleAnnotations Code LocalVariableTable LineNumberTable LocalVariableTypeTable
StackMapTable Signature Z(Lorg/osgi/framework/BundleContext;Ljava/util/Map;)V
Exceptions |(Ljava/util/Map;)Lorg/apache/jackrabbit/oak/plugins/index/TrackingCorruptIndexHandler; p([Ljava/lang/String;)Ljava/util/List;
SourceFile InnerClasses ! t u [ s I s s ! t " # t %u &[ I " s ' s ( ) * t + - t /u 0[ J + s 1 s 2 3 * t 4 6 t 8u 0[ J 4 s 9 s : ; <