org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector.class Maven / Gradle / Ivy
???? 2?
r ? r ?
r ? r ?
r ?
w ? } ? r ? r ? r ? r ? r ? r ? ?
? r ? ? ?
?
r
r
r
r
r
}
%
r
!
-"#
r$%&'
(
)
4*
+ ,-
./
01
42
434546
r7489
B ?:
B;
B<
B
=>? }@AB
L ?
CD
EF
G2
GHI
RJ
L6
L8
K
0L
GMN
OPQR
ST rU
VW
VX
YZ4[
Y\]
d ?^
f_`ab
dcd
ef
mg
Bhi
jkl
mn op
oq orst FileLineDifferenceIterator InnerClasses BlobIdRetriever Sweeperu State LOG Lorg/slf4j/Logger; NEWLINE Ljava/lang/String; TEMP_DIR DEFAULT_BATCH_COUNT I
ConstantValue maxLastModifiedInterval J runConcurrently Z blobStore @Lorg/apache/jackrabbit/oak/spi/blob/GarbageCollectableBlobStore; marker ?Lorg/apache/jackrabbit/oak/plugins/blob/BlobReferenceRetriever; fs BLorg/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileState; executor Ljava/util/concurrent/Executor;
batchCount state HLorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector$State; ?(Lorg/apache/jackrabbit/oak/plugins/blob/BlobReferenceRetriever;Lorg/apache/jackrabbit/oak/spi/blob/GarbageCollectableBlobStore;Ljava/util/concurrent/Executor;Ljava/lang/String;IZJ)V Code LineNumberTable LocalVariableTable this BLorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector; root runBackendConcurrently
Exceptionsv ?(Lorg/apache/jackrabbit/oak/plugins/blob/BlobReferenceRetriever;Lorg/apache/jackrabbit/oak/spi/blob/GarbageCollectableBlobStore;Ljava/util/concurrent/Executor;)V ?(Lorg/apache/jackrabbit/oak/plugins/blob/BlobReferenceRetriever;Lorg/apache/jackrabbit/oak/spi/blob/GarbageCollectableBlobStore;Ljava/util/concurrent/Executor;J)V collectGarbage ()Vw getState J()Lorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector$State; markAndSweep sw "Lcom/google/common/base/Stopwatch; deleteCount threw
StackMapTablelxy mark e )Ljava/util/concurrent/ExecutionException; blobIdRetriever 8Lcom/google/common/util/concurrent/ListenableFutureTask; LocalVariableTypeTable MLcom/google/common/util/concurrent/ListenableFutureTask;z
difference
expiredSet Ljava/util/List;
numCandidates iter ]Lorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector$FileLineDifferenceIterator; bufferWriter Ljava/io/BufferedWriter; $Ljava/util/List;'{| sweep ()I count exceptionQueue ,Ljava/util/concurrent/ConcurrentLinkedQueue; iterator $Lorg/apache/commons/io/LineIterator; ids writer @Ljava/util/concurrent/ConcurrentLinkedQueue;B}
getBatchCount getLastMaxModifiedTime ()J saveBatchToFile +(Ljava/util/List;Ljava/io/BufferedWriter;)V Signature ?(Ljava/util/List;Ljava/io/BufferedWriter;)V iterateNodeTree +Ljava/util/concurrent/atomic/AtomicInteger;] timestampToString (J)Ljava/lang/String; timestamp
access$100 E(Lorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector;)J x0
access$200 ?(Lorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector;)Lorg/apache/jackrabbit/oak/spi/blob/GarbageCollectableBlobStore;
access$300 E(Lorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector;)I
access$400 ?(Lorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector;)Lorg/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileState;
access$500
SourceFile MarkSweepGarbageCollector.java ? ? ? ? ? ? ? ? ? ? ? ?~ ? ? ? ? ? ? ? ? ? ? ? ? ? @org/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileState ? ? ?????? ? ? ? ???? ? ? Starting Blob garbage collection?? ? ? ? ? EBlob garbage collection completed in {}. Number of blobs deleted [{}]??????????? ? ,Starting mark phase of the garbage collector? Porg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector$BlobIdRetriever ??z????????? ? ??? 'java/util/concurrent/ExecutionException uError occurred while fetching all the blobIds from the BlobStore. GC would continue with the blobIds retrieved so far???? ? ? *Ending mark phase of the garbage collector 2Starting difference phase of the garbage collector [org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector$FileLineDifferenceIterator???? ?????????????????|??? ? ? ??? java/lang/StringBuilder Found GC candidates - ??????? 0Ending difference phase of the garbage collector? ? -Starting sweep phase of the garbage collector *java/util/concurrent/ConcurrentLinkedQueue??????}?? Horg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector$Sweeper ???????? mUnable to delete some blob entries from the blob store. Details around such blob entries can be found in [{}]????? +Ending sweep phase of the garbage collector?? ? ? ??????{??? ?? ? )java/util/concurrent/atomic/AtomicInteger Borg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector$1 ????? WNumber of valid blob references marked under mark phase of Blob garbage collection [{}]? ????? java/sql/Timestamp ???? 00??? @org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector?????????? java/lang/Object ;org/apache/jackrabbit/oak/plugins/blob/BlobGarbageCollector Forg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector$State java/io/IOException java/lang/Exception java/lang/Throwable java/lang/InterruptedException 6com/google/common/util/concurrent/ListenableFutureTask java/io/BufferedWriter java/util/List "org/apache/commons/io/LineIterator NOT_RUNNING (Ljava/lang/String;)V java/util/concurrent/TimeUnit HOURS Ljava/util/concurrent/TimeUnit; toMillis (J)J com/google/common/base/Stopwatch
createStarted $()Lcom/google/common/base/Stopwatch; org/slf4j/Logger info toString ()Ljava/lang/String; java/lang/Integer valueOf (I)Ljava/lang/Integer; 9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V com/google/common/io/Closeables close (Ljava/io/Closeable;Z)V MARKING debug ?(Lorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector;Lorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector$1;)V create Y(Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFutureTask; java/util/concurrent/Executor execute (Ljava/lang/Runnable;)V /com/google/common/util/concurrent/MoreExecutors sameThreadExecutor >()Lcom/google/common/util/concurrent/ListeningExecutorService; :com/google/common/util/concurrent/ListeningExecutorService get ()Ljava/lang/Object; getCause ()Ljava/lang/Throwable; warn *(Ljava/lang/String;Ljava/lang/Throwable;)V
getMarkedRefs ()Ljava/io/File; getAvailableRefs (Ljava/io/File;Ljava/io/File;)V getGcCandidates com/google/common/base/Charsets UTF_8 Ljava/nio/charset/Charset; com/google/common/io/Files newWriter B(Ljava/io/File;Ljava/nio/charset/Charset;)Ljava/io/BufferedWriter; com/google/common/collect/Lists newArrayList ()Ljava/util/ArrayList; hasNext ()Z next add (Ljava/lang/Object;)Z size isEmpty append -(Ljava/lang/String;)Ljava/lang/StringBuilder; (I)Ljava/lang/StringBuilder; )org/apache/jackrabbit/oak/commons/IOUtils closeQuietly (Ljava/io/Closeable;)V SWEEPING java/nio/charset/Charset name org/apache/commons/io/FileUtils lineIterator F(Ljava/io/File;Ljava/lang/String;)Lorg/apache/commons/io/LineIterator; ?(Lorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector;Ljava/util/List;Ljava/util/concurrent/ConcurrentLinkedQueue;)V
getGarbage +(Ljava/lang/Iterable;)Ljava/util/ArrayList; '(Lorg/apache/commons/io/LineIterator;)V java/io/File getAbsolutePath '(Ljava/lang/String;Ljava/lang/Object;)V java/lang/System currentTimeMillis com/google/common/base/Joiner on 3(Ljava/lang/String;)Lcom/google/common/base/Joiner; join ((Ljava/lang/Iterable;)Ljava/lang/String; *(Ljava/lang/CharSequence;)Ljava/io/Writer; clear flush ?(Lorg/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector;Ljava/io/BufferedWriter;Ljava/util/concurrent/atomic/AtomicInteger;)V =org/apache/jackrabbit/oak/plugins/blob/BlobReferenceRetriever collectReferences >(Lorg/apache/jackrabbit/oak/plugins/blob/ReferenceCollector;)V sort (Ljava/io/File;)V (J)V -(Ljava/lang/Object;)Ljava/lang/StringBuilder; java/lang/String substring (II)Ljava/lang/String; org/slf4j/LoggerFactory getLogger %(Ljava/lang/Class;)Lorg/slf4j/Logger; -com/google/common/base/StandardSystemProperty LINE_SEPARATOR /Lcom/google/common/base/StandardSystemProperty; value JAVA_IO_TMPDIR ! r w x ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? :*? *? ? *-? *,? *+?
*? *? *?
*? Y? ? ? ? *
s ] t u v w x &