final class org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction implements org.apache.cassandra.index.transactions.CompactionTransaction
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction
super_class: java.lang.Object
{
private final org.apache.cassandra.db.DecoratedKey key;
descriptor: Lorg/apache/cassandra/db/DecoratedKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.PartitionColumns columns;
descriptor: Lorg/apache/cassandra/db/PartitionColumns;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int versions;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int nowInSec;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Collection<org.apache.cassandra.index.Index> indexes;
descriptor: Ljava/util/Collection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;
private org.apache.cassandra.db.rows.Row[] rows;
descriptor: [Lorg/apache/cassandra/db/rows/Row;
flags: (0x0002) ACC_PRIVATE
private void <init>(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.PartitionColumns, int, int, java.util.Collection<org.apache.cassandra.index.Index>);
descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/PartitionColumns;IILjava/util/Collection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.key:Lorg/apache/cassandra/db/DecoratedKey;
2: aload 0
aload 2
putfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.columns:Lorg/apache/cassandra/db/PartitionColumns;
3: aload 0
iload 3
putfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.versions:I
4: aload 0
aload 5
putfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.indexes:Ljava/util/Collection;
5: aload 0
iload 4
putfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.nowInSec:I
6: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/index/SecondaryIndexManager$IndexGCTransaction;
0 7 1 key Lorg/apache/cassandra/db/DecoratedKey;
0 7 2 columns Lorg/apache/cassandra/db/PartitionColumns;
0 7 3 versions I
0 7 4 nowInSec I
0 7 5 indexes Ljava/util/Collection<Lorg/apache/cassandra/index/Index;>;
Signature: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/PartitionColumns;IILjava/util/Collection<Lorg/apache/cassandra/index/Index;>;)V
MethodParameters:
Name Flags
key
columns
versions
nowInSec
indexes
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.versions:I
ifle 2
1: aload 0
aload 0
getfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.versions:I
anewarray org.apache.cassandra.db.rows.Row
putfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.rows:[Lorg/apache/cassandra/db/rows/Row;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/index/SecondaryIndexManager$IndexGCTransaction;
public void onRowMerge(org.apache.cassandra.db.rows.Row, org.apache.cassandra.db.rows.Row[]);
descriptor: (Lorg/apache/cassandra/db/rows/Row;[Lorg/apache/cassandra/db/rows/Row;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
anewarray org.apache.cassandra.db.rows.Row$Builder
astore 3
start local 3 1: new org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction$1
dup
aload 0
aload 3
invokespecial org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction$1.<init>:(Lorg/apache/cassandra/index/SecondaryIndexManager$IndexGCTransaction;[Lorg/apache/cassandra/db/rows/Row$Builder;)V
astore 4
start local 4 2: aload 4
aload 1
aload 2
invokestatic org.apache.cassandra.db.rows.Rows.diff:(Lorg/apache/cassandra/db/rows/RowDiffListener;Lorg/apache/cassandra/db/rows/Row;[Lorg/apache/cassandra/db/rows/Row;)V
3: iconst_0
istore 5
start local 5 4: goto 8
5: StackMap locals: org.apache.cassandra.db.rows.Row$Builder[] org.apache.cassandra.db.rows.RowDiffListener int
StackMap stack:
aload 3
iload 5
aaload
ifnull 7
6: aload 0
getfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.rows:[Lorg/apache/cassandra/db/rows/Row;
iload 5
aload 3
iload 5
aaload
invokeinterface org.apache.cassandra.db.rows.Row$Builder.build:()Lorg/apache/cassandra/db/rows/Row;
aastore
7: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
aload 3
arraylength
if_icmplt 5
end local 5 9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/index/SecondaryIndexManager$IndexGCTransaction;
0 10 1 merged Lorg/apache/cassandra/db/rows/Row;
0 10 2 versions [Lorg/apache/cassandra/db/rows/Row;
1 10 3 builders [Lorg/apache/cassandra/db/rows/Row$Builder;
2 10 4 diffListener Lorg/apache/cassandra/db/rows/RowDiffListener;
4 9 5 i I
MethodParameters:
Name Flags
merged
versions
public void commit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.rows:[Lorg/apache/cassandra/db/rows/Row;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
aconst_null
astore 2
3: getstatic org.apache.cassandra.db.Keyspace.writeOrder:Lorg/apache/cassandra/utils/concurrent/OpOrder;
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder.start:()Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
astore 3
start local 3 4: aload 0
getfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.indexes:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 17
StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.OpOrder$Group top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.index.Index
astore 4
start local 4 6: aload 4
aload 0
getfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.key:Lorg/apache/cassandra/db/DecoratedKey;
aload 0
getfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.columns:Lorg/apache/cassandra/db/PartitionColumns;
aload 0
getfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.nowInSec:I
aload 3
getstatic org.apache.cassandra.index.transactions.IndexTransaction$Type.COMPACTION:Lorg/apache/cassandra/index/transactions/IndexTransaction$Type;
invokeinterface org.apache.cassandra.index.Index.indexerFor:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/PartitionColumns;ILorg/apache/cassandra/utils/concurrent/OpOrder$Group;Lorg/apache/cassandra/index/transactions/IndexTransaction$Type;)Lorg/apache/cassandra/index/Index$Indexer;
astore 6
start local 6 7: aload 6
ifnonnull 9
8: goto 17
9: StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.OpOrder$Group org.apache.cassandra.index.Index java.util.Iterator org.apache.cassandra.index.Index$Indexer
StackMap stack:
aload 6
invokeinterface org.apache.cassandra.index.Index$Indexer.begin:()V
10: aload 0
getfield org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction.rows:[Lorg/apache/cassandra/db/rows/Row;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 15
StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.OpOrder$Group org.apache.cassandra.index.Index java.util.Iterator org.apache.cassandra.index.Index$Indexer top int int org.apache.cassandra.db.rows.Row[]
StackMap stack:
11: aload 10
iload 8
aaload
astore 7
start local 7 12: aload 7
ifnull 14
13: aload 6
aload 7
invokeinterface org.apache.cassandra.index.Index$Indexer.removeRow:(Lorg/apache/cassandra/db/rows/Row;)V
end local 7 14: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
15: iload 8
iload 9
if_icmplt 11
16: aload 6
invokeinterface org.apache.cassandra.index.Index$Indexer.finish:()V
end local 6 end local 4 17: StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.OpOrder$Group top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
18: aload 3
ifnull 24
aload 3
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Group.close:()V
goto 24
StackMap locals: org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.OpOrder$Group
StackMap stack: java.lang.Throwable
19: astore 1
aload 3
ifnull 20
aload 3
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Group.close:()V
end local 3 StackMap locals:
StackMap stack:
20: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 2
aload 1
ifnonnull 22
aload 2
astore 1
goto 23
StackMap locals:
StackMap stack:
22: aload 1
aload 2
if_acmpeq 23
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 1
athrow
24: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/apache/cassandra/index/SecondaryIndexManager$IndexGCTransaction;
4 20 3 opGroup Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
6 17 4 index Lorg/apache/cassandra/index/Index;
7 17 6 indexer Lorg/apache/cassandra/index/Index$Indexer;
12 14 7 row Lorg/apache/cassandra/db/rows/Row;
Exception table:
from to target type
4 18 19 any
3 21 21 any
}
SourceFile: "SecondaryIndexManager.java"
NestHost: org.apache.cassandra.index.SecondaryIndexManager
InnerClasses:
public abstract Builder = org.apache.cassandra.db.rows.Row$Builder of org.apache.cassandra.db.rows.Row
public abstract Indexer = org.apache.cassandra.index.Index$Indexer of org.apache.cassandra.index.Index
private final IndexGCTransaction = org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction of org.apache.cassandra.index.SecondaryIndexManager
org.apache.cassandra.index.SecondaryIndexManager$IndexGCTransaction$1
public final Type = org.apache.cassandra.index.transactions.IndexTransaction$Type of org.apache.cassandra.index.transactions.IndexTransaction
public final Group = org.apache.cassandra.utils.concurrent.OpOrder$Group of org.apache.cassandra.utils.concurrent.OpOrder