
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 Gorg/apache/jackrabbit/oak/plugins/index/AsyncIndexerService$AsyncConfig AsyncConfig =org/apache/jackrabbit/oak/plugins/index/AsyncIndexerService$1 Horg/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate$AsyncIndexStats 8org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate AsyncIndexStats 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 3 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 < 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; executor =Lorg/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor; ()V V W
X getClass ()Ljava/lang/Class; Z [
\ org/slf4j/LoggerFactory ^ getLogger %(Ljava/lang/Class;)Lorg/slf4j/Logger; ` a
_ b C D d Forg/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexEditorProvider f
g X E F i com/google/common/io/Closer k create ()Lcom/google/common/io/Closer; m n
l o R S q 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 x get &(Ljava/lang/Object;)Ljava/lang/Object; z { y | java/lang/String ~ 0org/apache/jackrabbit/oak/commons/PropertiesUtil ?
toStringArray :(Ljava/lang/Object;[Ljava/lang/String;)[Ljava/lang/String; ? ?
? ? getAsyncConfig %([Ljava/lang/String;)Ljava/util/List; ? ?
? -org/apache/jackrabbit/oak/osgi/OsgiWhiteboard ? %(Lorg/osgi/framework/BundleContext;)V V ?
? ? >org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration ? 8(Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard;)V V ?
? ? P Q ? start ? ?
g ? ;org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor ?
? X T U ?
? ? toInteger (Ljava/lang/Object;I)I ? ?
? ? G H ? /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; ? ? ? ? name ? ? N O ? ?(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 V ?
? setCorruptIndexHandler H(Lorg/apache/jackrabbit/oak/plugins/index/TrackingCorruptIndexHandler;)V ? ?
? J K ? 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; ? ?
l ? registerAsyncReindexSupport ? ?
? 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
async-reindex" Norg/apache/jackrabbit/oak/plugins/index/property/jmx/PropertyIndexAsyncReindex$ \(Lorg/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate;Ljava/util/concurrent/Executor;)V V&
%' >org/apache/jackrabbit/oak/spi/whiteboard/CompositeRegistration) 5org/apache/jackrabbit/oak/spi/whiteboard/Registration+ Sorg/apache/jackrabbit/oak/plugins/index/property/jmx/PropertyIndexAsyncReindexMBean- PropertyIndexAsyncReindex/ async1 8org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils3
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;56
47 1org/apache/jackrabbit/oak/api/jmx/IndexStatsMBean9
getIndexStats L()Lorg/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate$AsyncIndexStats;;<
=
IndexStats? ;([Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;)V VA
*B w(Lorg/apache/jackrabbit/oak/plugins/index/AsyncIndexerService;Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;)V VD
E asyncPI PLorg/apache/jackrabbit/oak/plugins/index/property/jmx/PropertyIndexAsyncReindex; reg 7Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;
deactivate java/io/IOExceptionL -Lorg/apache/felix/scr/annotations/Deactivate;
unregisterO W
?P stopR W
?S closeU W
lV toLong (Ljava/lang/Object;J)JXY
?Z
! X SECONDS] ? ?^ setCorruptInterval #(JLjava/util/concurrent/TimeUnit;)V`a
!b setErrorWarnIntervalda
!e l[{}] is set to {}. Auto corrupt index isolation handling is disabled, warning log would be logged every {} sg ((Ljava/lang/String;[Ljava/lang/Object;)V ?i ?j ?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 {} sl com/google/common/collect/Listsn newArrayList ()Ljava/util/ArrayList;pq
or indexOf (I)Itu
v Invalid config provided [%s]x java/util/Arraysz toString '([Ljava/lang/Object;)Ljava/lang/String;|}
{~ $com/google/common/base/Preconditions?
checkArgument )(ZLjava/lang/String;[Ljava/lang/Object;)V??
?? substring (II)Ljava/lang/String;??
? trim?
? (I)Ljava/lang/String;??
? parseLong (Ljava/lang/String;)J??
?? U(Ljava/lang/String;JLorg/apache/jackrabbit/oak/plugins/index/AsyncIndexerService$1;)V V?
? add (Ljava/lang/Object;)Z?? ?? idOfEq interval arr$ [Ljava/lang/String; len$ configs result? java/util/ArrayList?
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 ! ? ? [ s !I " s # s $ % &