class org.apache.lucene.index.IndexWriter$2 extends org.apache.lucene.index.MergePolicy$OneMerge
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.lucene.index.IndexWriter$2
super_class: org.apache.lucene.index.MergePolicy$OneMerge
{
org.apache.lucene.index.SegmentCommitInfo origInfo;
descriptor: Lorg/apache/lucene/index/SegmentCommitInfo;
flags: (0x0000)
final java.util.concurrent.atomic.AtomicBoolean onlyOnce;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0010) ACC_FINAL
final org.apache.lucene.index.IndexWriter this$0;
descriptor: Lorg/apache/lucene/index/IndexWriter;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.util.function.BooleanSupplier val$stopCollectingMergeResults;
descriptor: Ljava/util/function/BooleanSupplier;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.apache.lucene.index.MergePolicy$OneMerge val$toWrap;
descriptor: Lorg/apache/lucene/index/MergePolicy$OneMerge;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.apache.lucene.index.MergeTrigger val$trigger;
descriptor: Lorg/apache/lucene/index/MergeTrigger;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.apache.lucene.index.SegmentInfos val$mergingSegmentInfos;
descriptor: Lorg/apache/lucene/index/SegmentInfos;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.apache.lucene.util.IOUtils$IOConsumer val$mergeFinished;
descriptor: Lorg/apache/lucene/util/IOUtils$IOConsumer;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.apache.lucene.index.IndexWriter, java.util.List, java.util.function.BooleanSupplier, org.apache.lucene.index.MergePolicy$OneMerge, org.apache.lucene.index.MergeTrigger, org.apache.lucene.index.SegmentInfos, org.apache.lucene.util.IOUtils$IOConsumer);
descriptor: (Lorg/apache/lucene/index/IndexWriter;Ljava/util/List;Ljava/util/function/BooleanSupplier;Lorg/apache/lucene/index/MergePolicy$OneMerge;Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/util/IOUtils$IOConsumer;)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=8
start local 0 start local 2 0: aload 0
aload 1
putfield org.apache.lucene.index.IndexWriter$2.this$0:Lorg/apache/lucene/index/IndexWriter;
aload 0
aload 3
putfield org.apache.lucene.index.IndexWriter$2.val$stopCollectingMergeResults:Ljava/util/function/BooleanSupplier;
aload 0
aload 4
putfield org.apache.lucene.index.IndexWriter$2.val$toWrap:Lorg/apache/lucene/index/MergePolicy$OneMerge;
aload 0
aload 5
putfield org.apache.lucene.index.IndexWriter$2.val$trigger:Lorg/apache/lucene/index/MergeTrigger;
aload 0
aload 6
putfield org.apache.lucene.index.IndexWriter$2.val$mergingSegmentInfos:Lorg/apache/lucene/index/SegmentInfos;
aload 0
aload 7
putfield org.apache.lucene.index.IndexWriter$2.val$mergeFinished:Lorg/apache/lucene/util/IOUtils$IOConsumer;
aload 0
aload 2
invokespecial org.apache.lucene.index.MergePolicy$OneMerge.<init>:(Ljava/util/List;)V
1: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield org.apache.lucene.index.IndexWriter$2.onlyOnce:Ljava/util/concurrent/atomic/AtomicBoolean;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/lucene/index/IndexWriter$2;
0 3 2 $anonymous0 Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
MethodParameters:
Name Flags
this$0 final
$anonymous0
val$stopCollectingMergeResults final
val$toWrap final
val$trigger final
val$mergingSegmentInfos final
val$mergeFinished final
public void mergeFinished(boolean, boolean);
descriptor: (ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.index.IndexWriter$2.this$0:Lorg/apache/lucene/index/IndexWriter;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 2
ifne 28
2: iload 1
ifeq 28
3: aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$stopCollectingMergeResults:Ljava/util/function/BooleanSupplier;
invokeinterface java.util.function.BooleanSupplier.getAsBoolean:()Z
ifne 28
4: getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
ifne 5
aload 0
getfield org.apache.lucene.index.IndexWriter$2.origInfo:Lorg/apache/lucene/index/SegmentCommitInfo;
ifnonnull 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.index.IndexWriter$2.this$0:Lorg/apache/lucene/index/IndexWriter;
getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
ldc "IW"
invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
ifeq 7
6: aload 0
getfield org.apache.lucene.index.IndexWriter$2.this$0:Lorg/apache/lucene/index/IndexWriter;
getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
ldc "IW"
new java.lang.StringBuilder
dup
ldc "now apply merge during commit: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$toWrap:Lorg/apache/lucene/index/MergePolicy$OneMerge;
invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.segString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$trigger:Lorg/apache/lucene/index/MergeTrigger;
getstatic org.apache.lucene.index.MergeTrigger.COMMIT:Lorg/apache/lucene/index/MergeTrigger;
if_acmpne 9
8: aload 0
getfield org.apache.lucene.index.IndexWriter$2.this$0:Lorg/apache/lucene/index/IndexWriter;
getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
aload 0
getfield org.apache.lucene.index.IndexWriter$2.origInfo:Lorg/apache/lucene/index/SegmentCommitInfo;
invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
invokevirtual org.apache.lucene.index.IndexFileDeleter.incRef:(Ljava/util/Collection;)V
9: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 10: aload 0
getfield org.apache.lucene.index.IndexWriter$2.segments:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 13
StackMap locals: org.apache.lucene.index.IndexWriter$2 int int java.util.Set top java.util.Iterator
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.index.SegmentCommitInfo
astore 4
start local 4 12: aload 3
aload 4
getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 4 13: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 15: aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$mergingSegmentInfos:Lorg/apache/lucene/index/SegmentInfos;
invokevirtual org.apache.lucene.index.SegmentInfos.iterator:()Ljava/util/Iterator;
astore 6
goto 21
StackMap locals: org.apache.lucene.index.IndexWriter$2 int int java.util.Set java.util.List top java.util.Iterator
StackMap stack:
16: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.index.SegmentCommitInfo
astore 5
start local 5 17: aload 3
aload 5
getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 21
18: aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$trigger:Lorg/apache/lucene/index/MergeTrigger;
getstatic org.apache.lucene.index.MergeTrigger.COMMIT:Lorg/apache/lucene/index/MergeTrigger;
if_acmpne 21
20: aload 0
getfield org.apache.lucene.index.IndexWriter$2.this$0:Lorg/apache/lucene/index/IndexWriter;
getfield org.apache.lucene.index.IndexWriter.deleter:Lorg/apache/lucene/index/IndexFileDeleter;
aload 5
invokevirtual org.apache.lucene.index.SegmentCommitInfo.files:()Ljava/util/Collection;
invokevirtual org.apache.lucene.index.IndexFileDeleter.decRef:(Ljava/util/Collection;)V
end local 5 21: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
22: new org.apache.lucene.index.MergePolicy$OneMerge
dup
aload 4
invokespecial org.apache.lucene.index.MergePolicy$OneMerge.<init>:(Ljava/util/List;)V
astore 5
start local 5 23: aload 5
aload 0
getfield org.apache.lucene.index.IndexWriter$2.origInfo:Lorg/apache/lucene/index/SegmentCommitInfo;
putfield org.apache.lucene.index.MergePolicy$OneMerge.info:Lorg/apache/lucene/index/SegmentCommitInfo;
24: aload 0
getfield org.apache.lucene.index.IndexWriter$2.origInfo:Lorg/apache/lucene/index/SegmentCommitInfo;
getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
getfield org.apache.lucene.index.SegmentInfo.name:Ljava/lang/String;
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
bipush 36
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;I)J
lstore 6
start local 6 25: aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$mergingSegmentInfos:Lorg/apache/lucene/index/SegmentInfos;
aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$mergingSegmentInfos:Lorg/apache/lucene/index/SegmentInfos;
getfield org.apache.lucene.index.SegmentInfos.counter:J
lload 6
lconst_1
ladd
invokestatic java.lang.Math.max:(JJ)J
putfield org.apache.lucene.index.SegmentInfos.counter:J
26: aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$mergingSegmentInfos:Lorg/apache/lucene/index/SegmentInfos;
aload 5
iconst_0
invokevirtual org.apache.lucene.index.SegmentInfos.applyMergeChanges:(Lorg/apache/lucene/index/MergePolicy$OneMerge;Z)V
end local 6 end local 5 end local 4 end local 3 27: goto 30
28: StackMap locals: org.apache.lucene.index.IndexWriter$2 int int
StackMap stack:
aload 0
getfield org.apache.lucene.index.IndexWriter$2.this$0:Lorg/apache/lucene/index/IndexWriter;
getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
ldc "IW"
invokevirtual org.apache.lucene.util.InfoStream.isEnabled:(Ljava/lang/String;)Z
ifeq 30
29: aload 0
getfield org.apache.lucene.index.IndexWriter$2.this$0:Lorg/apache/lucene/index/IndexWriter;
getfield org.apache.lucene.index.IndexWriter.infoStream:Lorg/apache/lucene/util/InfoStream;
ldc "IW"
new java.lang.StringBuilder
dup
ldc "skip apply merge during commit: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$toWrap:Lorg/apache/lucene/index/MergePolicy$OneMerge;
invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.segString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.lucene.util.InfoStream.message:(Ljava/lang/String;Ljava/lang/String;)V
30: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$toWrap:Lorg/apache/lucene/index/MergePolicy$OneMerge;
iload 1
iload 2
invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.mergeFinished:(ZZ)V
31: aload 0
iload 1
iload 2
invokespecial org.apache.lucene.index.MergePolicy$OneMerge.mergeFinished:(ZZ)V
32: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/apache/lucene/index/IndexWriter$2;
0 33 1 committed Z
0 33 2 segmentDropped Z
10 27 3 mergedSegmentNames Ljava/util/Set<Ljava/lang/String;>;
12 13 4 sci Lorg/apache/lucene/index/SegmentCommitInfo;
15 27 4 toCommitMergedAwaySegments Ljava/util/List<Lorg/apache/lucene/index/SegmentCommitInfo;>;
17 21 5 sci Lorg/apache/lucene/index/SegmentCommitInfo;
23 27 5 applicableMerge Lorg/apache/lucene/index/MergePolicy$OneMerge;
25 27 6 segmentCounter J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
committed
segmentDropped
void onMergeComplete();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.lucene.index.IndexWriter.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.lucene.index.IndexWriter$2.this$0:Lorg/apache/lucene/index/IndexWriter;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$stopCollectingMergeResults:Ljava/util/function/BooleanSupplier;
invokeinterface java.util.function.BooleanSupplier.getAsBoolean:()Z
ifne 6
2: aload 0
invokevirtual org.apache.lucene.index.IndexWriter$2.isAborted:()Z
ifne 6
3: aload 0
getfield org.apache.lucene.index.IndexWriter$2.info:Lorg/apache/lucene/index/SegmentCommitInfo;
getfield org.apache.lucene.index.SegmentCommitInfo.info:Lorg/apache/lucene/index/SegmentInfo;
invokevirtual org.apache.lucene.index.SegmentInfo.maxDoc:()I
ifle 6
4: aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$mergeFinished:Lorg/apache/lucene/util/IOUtils$IOConsumer;
aload 0
getfield org.apache.lucene.index.IndexWriter$2.info:Lorg/apache/lucene/index/SegmentCommitInfo;
invokeinterface org.apache.lucene.util.IOUtils$IOConsumer.accept:(Ljava/lang/Object;)V
5: aload 0
aload 0
getfield org.apache.lucene.index.IndexWriter$2.info:Lorg/apache/lucene/index/SegmentCommitInfo;
invokevirtual org.apache.lucene.index.SegmentCommitInfo.clone:()Lorg/apache/lucene/index/SegmentCommitInfo;
putfield org.apache.lucene.index.IndexWriter$2.origInfo:Lorg/apache/lucene/index/SegmentCommitInfo;
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$toWrap:Lorg/apache/lucene/index/MergePolicy$OneMerge;
invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.onMergeComplete:()V
7: aload 0
invokespecial org.apache.lucene.index.MergePolicy$OneMerge.onMergeComplete:()V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/lucene/index/IndexWriter$2;
Exceptions:
throws java.io.IOException
void initMergeReaders(org.apache.lucene.util.IOUtils$IOFunction<org.apache.lucene.index.SegmentCommitInfo, org.apache.lucene.index.MergePolicy$MergeReader>);
descriptor: (Lorg/apache/lucene/util/IOUtils$IOFunction;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.lucene.index.IndexWriter$2.onlyOnce:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 2
1: aload 0
aload 1
invokespecial org.apache.lucene.index.MergePolicy$OneMerge.initMergeReaders:(Lorg/apache/lucene/util/IOUtils$IOFunction;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/lucene/index/IndexWriter$2;
0 3 1 readerFactory Lorg/apache/lucene/util/IOUtils$IOFunction<Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/MergePolicy$MergeReader;>;
Exceptions:
throws java.io.IOException
Signature: (Lorg/apache/lucene/util/IOUtils$IOFunction<Lorg/apache/lucene/index/SegmentCommitInfo;Lorg/apache/lucene/index/MergePolicy$MergeReader;>;)V
MethodParameters:
Name Flags
readerFactory
public org.apache.lucene.index.CodecReader wrapForMerge(org.apache.lucene.index.CodecReader);
descriptor: (Lorg/apache/lucene/index/CodecReader;)Lorg/apache/lucene/index/CodecReader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.lucene.index.IndexWriter$2.val$toWrap:Lorg/apache/lucene/index/MergePolicy$OneMerge;
aload 1
invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.wrapForMerge:(Lorg/apache/lucene/index/CodecReader;)Lorg/apache/lucene/index/CodecReader;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/index/IndexWriter$2;
0 1 1 reader Lorg/apache/lucene/index/CodecReader;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
reader
}
SourceFile: "IndexWriter.java"
EnclosingMethod: org.apache.lucene.index.IndexWriter.lambda$17:(Ljava/util/function/BooleanSupplier;Lorg/apache/lucene/index/MergeTrigger;Lorg/apache/lucene/index/SegmentInfos;Lorg/apache/lucene/util/IOUtils$IOConsumer;Lorg/apache/lucene/index/MergePolicy$OneMerge;)Lorg/apache/lucene/index/MergePolicy$OneMerge;
NestHost: org.apache.lucene.index.IndexWriter
InnerClasses:
org.apache.lucene.index.IndexWriter$2
final MergeReader = org.apache.lucene.index.MergePolicy$MergeReader of org.apache.lucene.index.MergePolicy
public OneMerge = org.apache.lucene.index.MergePolicy$OneMerge of org.apache.lucene.index.MergePolicy
public abstract IOConsumer = org.apache.lucene.util.IOUtils$IOConsumer of org.apache.lucene.util.IOUtils
public abstract IOFunction = org.apache.lucene.util.IOUtils$IOFunction of org.apache.lucene.util.IOUtils