public final class org.apache.cassandra.hints.LegacyHintsMigrator
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.hints.LegacyHintsMigrator
super_class: java.lang.Object
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.io.File hintsDirectory;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long maxHintsFileSize;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.ColumnFamilyStore legacyHintsTable;
descriptor: Lorg/apache/cassandra/db/ColumnFamilyStore;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int pageSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/hints/LegacyHintsMigrator;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.hints.LegacyHintsMigrator.logger:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.File, long);
descriptor: (Ljava/io/File;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.hints.LegacyHintsMigrator.hintsDirectory:Ljava/io/File;
2: aload 0
lload 2
putfield org.apache.cassandra.hints.LegacyHintsMigrator.maxHintsFileSize:J
3: aload 0
ldc "system"
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
ldc "hints"
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
putfield org.apache.cassandra.hints.LegacyHintsMigrator.legacyHintsTable:Lorg/apache/cassandra/db/ColumnFamilyStore;
4: aload 0
aload 0
getfield org.apache.cassandra.hints.LegacyHintsMigrator.legacyHintsTable:Lorg/apache/cassandra/db/ColumnFamilyStore;
invokestatic org.apache.cassandra.hints.LegacyHintsMigrator.calculatePageSize:(Lorg/apache/cassandra/db/ColumnFamilyStore;)I
putfield org.apache.cassandra.hints.LegacyHintsMigrator.pageSize:I
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/hints/LegacyHintsMigrator;
0 6 1 hintsDirectory Ljava/io/File;
0 6 2 maxHintsFileSize J
MethodParameters:
Name Flags
hintsDirectory
maxHintsFileSize
private static int calculatePageSize(org.apache.cassandra.db.ColumnFamilyStore);
descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: sipush 128
istore 1
start local 1 1: aload 0
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getMeanColumns:()I
istore 2
start local 2 2: aload 0
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getMeanPartitionSize:()D
dstore 3
start local 3 3: iload 2
ifeq 6
dload 3
dconst_0
dcmpl
ifeq 6
4: dload 3
d2i
iload 2
idiv
istore 5
start local 5 5: iconst_2
iload 1
ldc 524288
iload 5
idiv
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
istore 1
end local 5 6: StackMap locals: int int double
StackMap stack:
iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 legacyHintsTable Lorg/apache/cassandra/db/ColumnFamilyStore;
1 7 1 size I
2 7 2 meanCellCount I
3 7 3 meanPartitionSize D
5 6 5 avgHintSize I
MethodParameters:
Name Flags
legacyHintsTable
public void migrate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.hints.LegacyHintsMigrator.legacyHintsTable:Lorg/apache/cassandra/db/ColumnFamilyStore;
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isEmpty:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.hints.LegacyHintsMigrator.logger:Lorg/slf4j/Logger;
ldc "Migrating legacy hints to new storage"
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
3: getstatic org.apache.cassandra.hints.LegacyHintsMigrator.logger:Lorg/slf4j/Logger;
ldc "Forcing a major compaction of {}.{} table"
ldc "system"
ldc "hints"
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 0
invokevirtual org.apache.cassandra.hints.LegacyHintsMigrator.compactLegacyHints:()V
5: getstatic org.apache.cassandra.hints.LegacyHintsMigrator.logger:Lorg/slf4j/Logger;
ldc "Writing legacy hints to the new storage"
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
6: aload 0
invokevirtual org.apache.cassandra.hints.LegacyHintsMigrator.migrateLegacyHints:()V
7: getstatic org.apache.cassandra.hints.LegacyHintsMigrator.logger:Lorg/slf4j/Logger;
ldc "Truncating {}.{} table"
ldc "system"
ldc "hints"
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 0
getfield org.apache.cassandra.hints.LegacyHintsMigrator.legacyHintsTable:Lorg/apache/cassandra/db/ColumnFamilyStore;
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.truncateBlocking:()V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/hints/LegacyHintsMigrator;
private void compactLegacyHints();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.apache.cassandra.hints.LegacyHintsMigrator.legacyHintsTable:Lorg/apache/cassandra/db/ColumnFamilyStore;
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
invokevirtual org.apache.cassandra.db.lifecycle.Tracker.getUncompacting:()Ljava/lang/Iterable;
aload 1
invokedynamic accept(Ljava/util/Collection;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/apache/cassandra/hints/LegacyHintsMigrator.lambda$0(Ljava/util/Collection;Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V (6)
(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
invokeinterface java.lang.Iterable.forEach:(Ljava/util/function/Consumer;)V
2: aload 1
invokeinterface java.util.Collection.isEmpty:()Z
ifne 4
3: aload 0
aload 1
invokevirtual org.apache.cassandra.hints.LegacyHintsMigrator.forceCompaction:(Ljava/util/Collection;)V
4: StackMap locals: java.util.Collection
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/hints/LegacyHintsMigrator;
1 5 1 descriptors Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/Descriptor;>;
private void forceCompaction(java.util.Collection<org.apache.cassandra.io.sstable.Descriptor>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
aload 0
getfield org.apache.cassandra.hints.LegacyHintsMigrator.legacyHintsTable:Lorg/apache/cassandra/db/ColumnFamilyStore;
aload 1
invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
invokevirtual org.apache.cassandra.db.compaction.CompactionManager.submitUserDefined:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;I)Ljava/util/concurrent/Future;
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
pop
1: goto 4
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/hints/LegacyHintsMigrator;
0 5 1 descriptors Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/Descriptor;>;
3 4 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.InterruptedException
0 1 2 Class java.util.concurrent.ExecutionException
Signature: (Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/Descriptor;>;)V
MethodParameters:
Name Flags
descriptors
private void migrateLegacyHints();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: ldc 262144
invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
astore 1
start local 1 1: ldc "SELECT DISTINCT target_id FROM %s.%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "system"
aastore
dup
iconst_1
ldc "hints"
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 2: aload 2
iconst_0
anewarray java.lang.Object
invokestatic org.apache.cassandra.cql3.QueryProcessor.executeInternal:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/cassandra/cql3/UntypedResultSet;
aload 0
aload 1
invokedynamic accept(Lorg/apache/cassandra/hints/LegacyHintsMigrator;Ljava/nio/ByteBuffer;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/apache/cassandra/hints/LegacyHintsMigrator.lambda$1(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/cql3/UntypedResultSet$Row;)V (7)
(Lorg/apache/cassandra/cql3/UntypedResultSet$Row;)V
invokevirtual org.apache.cassandra.cql3.UntypedResultSet.forEach:(Ljava/util/function/Consumer;)V
3: aload 1
invokestatic org.apache.cassandra.io.util.FileUtils.clean:(Ljava/nio/ByteBuffer;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/hints/LegacyHintsMigrator;
1 5 1 buffer Ljava/nio/ByteBuffer;
2 5 2 query Ljava/lang/String;
private void migrateLegacyHints(java.util.UUID, java.nio.ByteBuffer);
descriptor: (Ljava/util/UUID;Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: ldc "SELECT target_id, hint_id, message_version, mutation, ttl(mutation) AS ttl, writeTime(mutation) AS write_time FROM %s.%s WHERE target_id = ?"
iconst_2
anewarray java.lang.Object
dup
iconst_0
1: ldc "system"
aastore
dup
iconst_1
2: ldc "hints"
aastore
3: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 4: aload 3
aload 0
getfield org.apache.cassandra.hints.LegacyHintsMigrator.pageSize:I
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic org.apache.cassandra.cql3.QueryProcessor.executeInternalWithPaging:(Ljava/lang/String;I[Ljava/lang/Object;)Lorg/apache/cassandra/cql3/UntypedResultSet;
astore 4
start local 4 5: aload 0
aload 1
aload 4
aload 2
invokevirtual org.apache.cassandra.hints.LegacyHintsMigrator.migrateLegacyHints:(Ljava/util/UUID;Lorg/apache/cassandra/cql3/UntypedResultSet;Ljava/nio/ByteBuffer;)V
6: aload 1
invokestatic org.apache.cassandra.hints.LegacyHintsMigrator.deleteLegacyHintsPartition:(Ljava/util/UUID;)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/hints/LegacyHintsMigrator;
0 8 1 hostId Ljava/util/UUID;
0 8 2 buffer Ljava/nio/ByteBuffer;
4 8 3 query Ljava/lang/String;
5 8 4 rows Lorg/apache/cassandra/cql3/UntypedResultSet;
MethodParameters:
Name Flags
hostId
buffer
private void migrateLegacyHints(java.util.UUID, org.apache.cassandra.cql3.UntypedResultSet, java.nio.ByteBuffer);
descriptor: (Ljava/util/UUID;Lorg/apache/cassandra/cql3/UntypedResultSet;Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.apache.cassandra.cql3.UntypedResultSet.iterator:()Ljava/util/Iterator;
aload 3
invokevirtual org.apache.cassandra.hints.LegacyHintsMigrator.migrateLegacyHints:(Ljava/util/UUID;Ljava/util/Iterator;Ljava/nio/ByteBuffer;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/hints/LegacyHintsMigrator;
0 2 1 hostId Ljava/util/UUID;
0 2 2 rows Lorg/apache/cassandra/cql3/UntypedResultSet;
0 2 3 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
hostId
rows
buffer
private void migrateLegacyHints(java.util.UUID, java.util.Iterator<org.apache.cassandra.cql3.UntypedResultSet$Row>, java.nio.ByteBuffer);
descriptor: (Ljava/util/UUID;Ljava/util/Iterator;Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.cassandra.hints.LegacyHintsMigrator.migrateLegacyHintsInternal:(Ljava/util/UUID;Ljava/util/Iterator;Ljava/nio/ByteBuffer;)V
1: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 0
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/hints/LegacyHintsMigrator;
0 3 1 hostId Ljava/util/UUID;
0 3 2 iterator Ljava/util/Iterator<Lorg/apache/cassandra/cql3/UntypedResultSet$Row;>;
0 3 3 buffer Ljava/nio/ByteBuffer;
Signature: (Ljava/util/UUID;Ljava/util/Iterator<Lorg/apache/cassandra/cql3/UntypedResultSet$Row;>;Ljava/nio/ByteBuffer;)V
MethodParameters:
Name Flags
hostId
iterator
buffer
private void migrateLegacyHintsInternal(java.util.UUID, java.util.Iterator<org.apache.cassandra.cql3.UntypedResultSet$Row>, java.nio.ByteBuffer);
descriptor: (Ljava/util/UUID;Ljava/util/Iterator;Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.apache.cassandra.hints.HintsDescriptor
dup
aload 1
invokestatic java.lang.System.currentTimeMillis:()J
invokespecial org.apache.cassandra.hints.HintsDescriptor.<init>:(Ljava/util/UUID;J)V
astore 4
start local 4 1: aconst_null
astore 5
aconst_null
astore 6
2: aload 0
getfield org.apache.cassandra.hints.LegacyHintsMigrator.hintsDirectory:Ljava/io/File;
aload 4
invokestatic org.apache.cassandra.hints.HintsWriter.create:(Ljava/io/File;Lorg/apache/cassandra/hints/HintsDescriptor;)Lorg/apache/cassandra/hints/HintsWriter;
astore 7
start local 7 3: aconst_null
astore 8
aconst_null
astore 9
4: aload 7
aload 3
invokevirtual org.apache.cassandra.hints.HintsWriter.newSession:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/hints/HintsWriter$Session;
astore 10
start local 10 5: goto 11
6: StackMap locals: org.apache.cassandra.hints.LegacyHintsMigrator java.util.UUID java.util.Iterator java.nio.ByteBuffer org.apache.cassandra.hints.HintsDescriptor java.lang.Throwable java.lang.Throwable org.apache.cassandra.hints.HintsWriter java.lang.Throwable java.lang.Throwable org.apache.cassandra.hints.HintsWriter$Session
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.UntypedResultSet$Row
invokestatic org.apache.cassandra.hints.LegacyHintsMigrator.convertLegacyHint:(Lorg/apache/cassandra/cql3/UntypedResultSet$Row;)Lorg/apache/cassandra/hints/Hint;
astore 11
start local 11 7: aload 11
ifnull 9
8: aload 10
aload 11
invokevirtual org.apache.cassandra.hints.HintsWriter$Session.append:(Lorg/apache/cassandra/hints/Hint;)V
9: StackMap locals: org.apache.cassandra.hints.Hint
StackMap stack:
aload 10
invokevirtual org.apache.cassandra.hints.HintsWriter$Session.position:()J
aload 0
getfield org.apache.cassandra.hints.LegacyHintsMigrator.maxHintsFileSize:J
lcmp
iflt 11
10: goto 12
end local 11 11: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
12: StackMap locals:
StackMap stack:
aload 10
ifnull 18
aload 10
invokevirtual org.apache.cassandra.hints.HintsWriter$Session.close:()V
goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 8
aload 10
ifnull 14
aload 10
invokevirtual org.apache.cassandra.hints.HintsWriter$Session.close:()V
end local 10 StackMap locals:
StackMap stack:
14: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 9
aload 8
ifnonnull 16
aload 9
astore 8
goto 17
StackMap locals:
StackMap stack:
16: aload 8
aload 9
if_acmpeq 17
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 8
athrow
18: StackMap locals:
StackMap stack:
aload 7
ifnull 26
aload 7
invokevirtual org.apache.cassandra.hints.HintsWriter.close:()V
goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 5
aload 7
ifnull 20
aload 7
invokevirtual org.apache.cassandra.hints.HintsWriter.close:()V
end local 7 StackMap locals:
StackMap stack:
20: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 6
aload 5
ifnonnull 22
aload 6
astore 5
goto 23
StackMap locals:
StackMap stack:
22: aload 5
aload 6
if_acmpeq 23
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 5
athrow
24: StackMap locals: org.apache.cassandra.hints.LegacyHintsMigrator java.util.UUID java.util.Iterator java.nio.ByteBuffer org.apache.cassandra.hints.HintsDescriptor
StackMap stack: java.io.IOException
astore 5
start local 5 25: new org.apache.cassandra.io.FSWriteError
dup
aload 5
aload 4
invokevirtual org.apache.cassandra.hints.HintsDescriptor.fileName:()Ljava/lang/String;
invokespecial org.apache.cassandra.io.FSWriteError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 5 26: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/apache/cassandra/hints/LegacyHintsMigrator;
0 27 1 hostId Ljava/util/UUID;
0 27 2 iterator Ljava/util/Iterator<Lorg/apache/cassandra/cql3/UntypedResultSet$Row;>;
0 27 3 buffer Ljava/nio/ByteBuffer;
1 27 4 descriptor Lorg/apache/cassandra/hints/HintsDescriptor;
3 20 7 writer Lorg/apache/cassandra/hints/HintsWriter;
5 14 10 session Lorg/apache/cassandra/hints/HintsWriter$Session;
7 11 11 hint Lorg/apache/cassandra/hints/Hint;
25 26 5 e Ljava/io/IOException;
Exception table:
from to target type
5 12 13 any
4 15 15 any
3 18 19 any
2 21 21 any
1 24 24 Class java.io.IOException
Signature: (Ljava/util/UUID;Ljava/util/Iterator<Lorg/apache/cassandra/cql3/UntypedResultSet$Row;>;Ljava/nio/ByteBuffer;)V
MethodParameters:
Name Flags
hostId
iterator
buffer
private static org.apache.cassandra.hints.Hint convertLegacyHint(org.apache.cassandra.cql3.UntypedResultSet$Row);
descriptor: (Lorg/apache/cassandra/cql3/UntypedResultSet$Row;)Lorg/apache/cassandra/hints/Hint;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
invokestatic org.apache.cassandra.hints.LegacyHintsMigrator.deserializeLegacyMutation:(Lorg/apache/cassandra/cql3/UntypedResultSet$Row;)Lorg/apache/cassandra/db/Mutation;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: org.apache.cassandra.db.Mutation
StackMap stack:
aload 0
ldc "write_time"
invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getLong:(Ljava/lang/String;)J
lstore 2
start local 2 4: invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
aload 0
ldc "ttl"
invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getInt:(Ljava/lang/String;)I
iadd
istore 4
start local 4 5: iload 4
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
lload 2
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
l2i
isub
istore 5
start local 5 6: iload 5
aload 1
invokevirtual org.apache.cassandra.db.Mutation.smallestGCGS:()I
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 7: aload 1
lload 2
iload 6
invokestatic org.apache.cassandra.hints.Hint.create:(Lorg/apache/cassandra/db/Mutation;JI)Lorg/apache/cassandra/hints/Hint;
areturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 row Lorg/apache/cassandra/cql3/UntypedResultSet$Row;
1 8 1 mutation Lorg/apache/cassandra/db/Mutation;
4 8 2 creationTime J
5 8 4 expirationTime I
6 8 5 originalGCGS I
7 8 6 gcgs I
MethodParameters:
Name Flags
row
private static org.apache.cassandra.db.Mutation deserializeLegacyMutation(org.apache.cassandra.cql3.UntypedResultSet$Row);
descriptor: (Lorg/apache/cassandra/cql3/UntypedResultSet$Row;)Lorg/apache/cassandra/db/Mutation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: new org.apache.cassandra.io.util.DataInputBuffer
dup
aload 0
ldc "mutation"
invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getBlob:(Ljava/lang/String;)Ljava/nio/ByteBuffer;
iconst_1
invokespecial org.apache.cassandra.io.util.DataInputBuffer.<init>:(Ljava/nio/ByteBuffer;Z)V
astore 3
start local 3 2: getstatic org.apache.cassandra.db.Mutation.serializer:Lorg/apache/cassandra/db/Mutation$MutationSerializer;
aload 3
3: aload 0
ldc "message_version"
invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getInt:(Ljava/lang/String;)I
4: invokevirtual org.apache.cassandra.db.Mutation$MutationSerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;I)Lorg/apache/cassandra/db/Mutation;
astore 4
start local 4 5: aload 4
invokevirtual org.apache.cassandra.db.Mutation.getPartitionUpdates:()Ljava/util/Collection;
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/apache/cassandra/db/partitions/PartitionUpdate.validate()V (5)
(Lorg/apache/cassandra/db/partitions/PartitionUpdate;)V
invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
6: aload 4
7: aload 3
ifnull 8
aload 3
invokevirtual org.apache.cassandra.io.util.DataInputBuffer.close:()V
8: StackMap locals: org.apache.cassandra.cql3.UntypedResultSet$Row java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.util.DataInputBuffer org.apache.cassandra.db.Mutation
StackMap stack: org.apache.cassandra.db.Mutation
areturn
end local 4 StackMap locals: org.apache.cassandra.cql3.UntypedResultSet$Row java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.util.DataInputBuffer
StackMap stack: java.lang.Throwable
9: astore 1
10: aload 3
ifnull 11
aload 3
invokevirtual org.apache.cassandra.io.util.DataInputBuffer.close:()V
end local 3 StackMap locals:
StackMap stack:
11: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 2
aload 1
ifnonnull 13
aload 2
astore 1
goto 14
StackMap locals:
StackMap stack:
13: aload 1
aload 2
if_acmpeq 14
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 1
athrow
15: StackMap locals: org.apache.cassandra.cql3.UntypedResultSet$Row
StackMap stack: java.io.IOException
astore 1
start local 1 16: getstatic org.apache.cassandra.hints.LegacyHintsMigrator.logger:Lorg/slf4j/Logger;
ldc "Failed to migrate a hint for {} from legacy {}.{} table"
iconst_4
anewarray java.lang.Object
dup
iconst_0
17: aload 0
ldc "target_id"
invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getUUID:(Ljava/lang/String;)Ljava/util/UUID;
aastore
dup
iconst_1
18: ldc "system"
aastore
dup
iconst_2
19: ldc "hints"
aastore
dup
iconst_3
20: aload 1
aastore
21: invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
22: aconst_null
areturn
end local 1 23: StackMap locals:
StackMap stack: org.apache.cassandra.serializers.MarshalException
astore 1
start local 1 24: getstatic org.apache.cassandra.hints.LegacyHintsMigrator.logger:Lorg/slf4j/Logger;
ldc "Failed to validate a hint for {} from legacy {}.{} table - skipping"
iconst_4
anewarray java.lang.Object
dup
iconst_0
25: aload 0
ldc "target_id"
invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getUUID:(Ljava/lang/String;)Ljava/util/UUID;
aastore
dup
iconst_1
26: ldc "system"
aastore
dup
iconst_2
27: ldc "hints"
aastore
dup
iconst_3
28: aload 1
aastore
29: invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
30: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 row Lorg/apache/cassandra/cql3/UntypedResultSet$Row;
2 11 3 dib Lorg/apache/cassandra/io/util/DataInputBuffer;
5 9 4 mutation Lorg/apache/cassandra/db/Mutation;
16 23 1 e Ljava/io/IOException;
24 31 1 e Lorg/apache/cassandra/serializers/MarshalException;
Exception table:
from to target type
2 7 9 any
1 8 12 any
9 12 12 any
0 8 15 Class java.io.IOException
9 15 15 Class java.io.IOException
0 8 23 Class org.apache.cassandra.serializers.MarshalException
9 15 23 Class org.apache.cassandra.serializers.MarshalException
MethodParameters:
Name Flags
row
private static void deleteLegacyHintsPartition(java.util.UUID);
descriptor: (Ljava/util/UUID;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: new org.apache.cassandra.db.Mutation
dup
getstatic org.apache.cassandra.db.SystemKeyspace.LegacyHints:Lorg/apache/cassandra/config/CFMetaData;
1: getstatic org.apache.cassandra.db.marshal.UUIDType.instance:Lorg/apache/cassandra/db/marshal/UUIDType;
aload 0
invokevirtual org.apache.cassandra.db.marshal.UUIDType.decompose:(Ljava/lang/Object;)Ljava/nio/ByteBuffer;
2: invokestatic java.lang.System.currentTimeMillis:()J
3: invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
4: invokestatic org.apache.cassandra.db.partitions.PartitionUpdate.fullPartitionDelete:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;JI)Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokespecial org.apache.cassandra.db.Mutation.<init>:(Lorg/apache/cassandra/db/partitions/PartitionUpdate;)V
astore 1
start local 1 5: aload 1
invokevirtual org.apache.cassandra.db.Mutation.applyUnsafe:()V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 hostId Ljava/util/UUID;
5 7 1 mutation Lorg/apache/cassandra/db/Mutation;
MethodParameters:
Name Flags
hostId
private static void lambda$0(java.util.Collection, org.apache.cassandra.io.sstable.format.SSTableReader);
descriptor: (Ljava/util/Collection;Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 sstable Lorg/apache/cassandra/io/sstable/format/SSTableReader;
private void lambda$1(java.nio.ByteBuffer, org.apache.cassandra.cql3.UntypedResultSet$Row);
descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/cassandra/cql3/UntypedResultSet$Row;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 2
ldc "target_id"
invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getUUID:(Ljava/lang/String;)Ljava/util/UUID;
aload 1
invokevirtual org.apache.cassandra.hints.LegacyHintsMigrator.migrateLegacyHints:(Ljava/util/UUID;Ljava/nio/ByteBuffer;)V
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/hints/LegacyHintsMigrator;
0 1 2 row Lorg/apache/cassandra/cql3/UntypedResultSet$Row;
}
SourceFile: "LegacyHintsMigrator.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Row = org.apache.cassandra.cql3.UntypedResultSet$Row of org.apache.cassandra.cql3.UntypedResultSet
public MutationSerializer = org.apache.cassandra.db.Mutation$MutationSerializer of org.apache.cassandra.db.Mutation
final Session = org.apache.cassandra.hints.HintsWriter$Session of org.apache.cassandra.hints.HintsWriter