public class org.apache.cassandra.cache.AutoSavingCache<K extends org.apache.cassandra.cache.CacheKey, V> extends org.apache.cassandra.cache.InstrumentingCache<K, V>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.cache.AutoSavingCache
super_class: org.apache.cassandra.cache.InstrumentingCache
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final java.util.Set<org.apache.cassandra.service.CacheService$CacheType> flushInProgress;
descriptor: Ljava/util/Set;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Lorg/apache/cassandra/service/CacheService$CacheType;>;
protected volatile java.util.concurrent.ScheduledFuture<?> saveTask;
descriptor: Ljava/util/concurrent/ScheduledFuture;
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
Signature: Ljava/util/concurrent/ScheduledFuture<*>;
protected final org.apache.cassandra.service.CacheService$CacheType cacheType;
descriptor: Lorg/apache/cassandra/service/CacheService$CacheType;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final org.apache.cassandra.cache.AutoSavingCache$CacheSerializer<K, V> cacheLoader;
descriptor: Lorg/apache/cassandra/cache/AutoSavingCache$CacheSerializer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/apache/cassandra/cache/AutoSavingCache$CacheSerializer<TK;TV;>;
private static final java.lang.String CURRENT_VERSION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "e"
private static volatile org.apache.cassandra.cache.AutoSavingCache$IStreamFactory streamFactory;
descriptor: Lorg/apache/cassandra/cache/AutoSavingCache$IStreamFactory;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/cache/AutoSavingCache;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.cache.AutoSavingCache.logger:Lorg/slf4j/Logger;
1: new org.cliffc.high_scale_lib.NonBlockingHashSet
dup
invokespecial org.cliffc.high_scale_lib.NonBlockingHashSet.<init>:()V
putstatic org.apache.cassandra.cache.AutoSavingCache.flushInProgress:Ljava/util/Set;
2: new org.apache.cassandra.cache.AutoSavingCache$1
dup
invokespecial org.apache.cassandra.cache.AutoSavingCache$1.<init>:()V
putstatic org.apache.cassandra.cache.AutoSavingCache.streamFactory:Lorg/apache/cassandra/cache/AutoSavingCache$IStreamFactory;
3: return
LocalVariableTable:
Start End Slot Name Signature
public static void setStreamFactory(org.apache.cassandra.cache.AutoSavingCache$IStreamFactory);
descriptor: (Lorg/apache/cassandra/cache/AutoSavingCache$IStreamFactory;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
putstatic org.apache.cassandra.cache.AutoSavingCache.streamFactory:Lorg/apache/cassandra/cache/AutoSavingCache$IStreamFactory;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 streamFactory Lorg/apache/cassandra/cache/AutoSavingCache$IStreamFactory;
MethodParameters:
Name Flags
streamFactory
public void <init>(org.apache.cassandra.cache.ICache<K, V>, org.apache.cassandra.service.CacheService$CacheType, org.apache.cassandra.cache.AutoSavingCache$CacheSerializer<K, V>);
descriptor: (Lorg/apache/cassandra/cache/ICache;Lorg/apache/cassandra/service/CacheService$CacheType;Lorg/apache/cassandra/cache/AutoSavingCache$CacheSerializer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual org.apache.cassandra.service.CacheService$CacheType.toString:()Ljava/lang/String;
aload 1
invokespecial org.apache.cassandra.cache.InstrumentingCache.<init>:(Ljava/lang/String;Lorg/apache/cassandra/cache/ICache;)V
1: aload 0
aload 2
putfield org.apache.cassandra.cache.AutoSavingCache.cacheType:Lorg/apache/cassandra/service/CacheService$CacheType;
2: aload 0
aload 3
putfield org.apache.cassandra.cache.AutoSavingCache.cacheLoader:Lorg/apache/cassandra/cache/AutoSavingCache$CacheSerializer;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/cache/AutoSavingCache<TK;TV;>;
0 4 1 cache Lorg/apache/cassandra/cache/ICache<TK;TV;>;
0 4 2 cacheType Lorg/apache/cassandra/service/CacheService$CacheType;
0 4 3 cacheloader Lorg/apache/cassandra/cache/AutoSavingCache$CacheSerializer<TK;TV;>;
Signature: (Lorg/apache/cassandra/cache/ICache<TK;TV;>;Lorg/apache/cassandra/service/CacheService$CacheType;Lorg/apache/cassandra/cache/AutoSavingCache$CacheSerializer<TK;TV;>;)V
MethodParameters:
Name Flags
cache
cacheType
cacheloader
public java.io.File getCacheDataPath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.cache.AutoSavingCache.cacheType:Lorg/apache/cassandra/service/CacheService$CacheType;
aload 1
ldc "db"
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getSerializedCachePath:(Lorg/apache/cassandra/service/CacheService$CacheType;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cache/AutoSavingCache<TK;TV;>;
0 1 1 version Ljava/lang/String;
MethodParameters:
Name Flags
version
public java.io.File getCacheCrcPath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.cache.AutoSavingCache.cacheType:Lorg/apache/cassandra/service/CacheService$CacheType;
aload 1
ldc "crc"
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getSerializedCachePath:(Lorg/apache/cassandra/service/CacheService$CacheType;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cache/AutoSavingCache<TK;TV;>;
0 1 1 version Ljava/lang/String;
MethodParameters:
Name Flags
version
public org.apache.cassandra.cache.AutoSavingCache<K, V>.Writer getWriter(int);
descriptor: (I)Lorg/apache/cassandra/cache/AutoSavingCache$Writer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.apache.cassandra.cache.AutoSavingCache$Writer
dup
aload 0
iload 1
invokespecial org.apache.cassandra.cache.AutoSavingCache$Writer.<init>:(Lorg/apache/cassandra/cache/AutoSavingCache;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cache/AutoSavingCache<TK;TV;>;
0 1 1 keysToSave I
Signature: (I)Lorg/apache/cassandra/cache/AutoSavingCache<TK;TV;>.Writer;
MethodParameters:
Name Flags
keysToSave
public void scheduleSaving(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.cache.AutoSavingCache.saveTask:Ljava/util/concurrent/ScheduledFuture;
ifnull 3
1: aload 0
getfield org.apache.cassandra.cache.AutoSavingCache.saveTask:Ljava/util/concurrent/ScheduledFuture;
iconst_0
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
pop
2: aload 0
aconst_null
putfield org.apache.cassandra.cache.AutoSavingCache.saveTask:Ljava/util/concurrent/ScheduledFuture;
3: StackMap locals:
StackMap stack:
iload 1
ifle 10
4: new org.apache.cassandra.cache.AutoSavingCache$2
dup
aload 0
iload 2
invokespecial org.apache.cassandra.cache.AutoSavingCache$2.<init>:(Lorg/apache/cassandra/cache/AutoSavingCache;I)V
astore 3
start local 3 5: aload 0
getstatic org.apache.cassandra.concurrent.ScheduledExecutors.optionalTasks:Lorg/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor;
aload 3
6: iload 1
i2l
7: iload 1
i2l
8: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
9: invokevirtual org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.scheduleWithFixedDelay:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield org.apache.cassandra.cache.AutoSavingCache.saveTask:Ljava/util/concurrent/ScheduledFuture;
end local 3 10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/cache/AutoSavingCache<TK;TV;>;
0 11 1 savePeriodInSeconds I
0 11 2 keysToSave I
5 10 3 runnable Ljava/lang/Runnable;
MethodParameters:
Name Flags
savePeriodInSeconds
keysToSave final
public com.google.common.util.concurrent.ListenableFuture<java.lang.Integer> loadSavedAsync();
descriptor: ()Lcom/google/common/util/concurrent/ListenableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: invokestatic java.util.concurrent.Executors.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService;
invokestatic com.google.common.util.concurrent.MoreExecutors.listeningDecorator:(Ljava/util/concurrent/ExecutorService;)Lcom/google/common/util/concurrent/ListeningExecutorService;
astore 1
start local 1 1: invokestatic java.lang.System.nanoTime:()J
lstore 2
start local 2 2: aload 1
new org.apache.cassandra.cache.AutoSavingCache$3
dup
aload 0
invokespecial org.apache.cassandra.cache.AutoSavingCache$3.<init>:(Lorg/apache/cassandra/cache/AutoSavingCache;)V
invokeinterface com.google.common.util.concurrent.ListeningExecutorService.submit:(Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFuture;
astore 4
start local 4 3: aload 4
new org.apache.cassandra.cache.AutoSavingCache$4
dup
aload 0
lload 2
aload 1
invokespecial org.apache.cassandra.cache.AutoSavingCache$4.<init>:(Lorg/apache/cassandra/cache/AutoSavingCache;JLcom/google/common/util/concurrent/ListeningExecutorService;)V
4: invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
5: invokeinterface com.google.common.util.concurrent.ListenableFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
6: aload 4
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/cache/AutoSavingCache<TK;TV;>;
1 7 1 es Lcom/google/common/util/concurrent/ListeningExecutorService;
2 7 2 start J
3 7 4 cacheLoad Lcom/google/common/util/concurrent/ListenableFuture<Ljava/lang/Integer;>;
Signature: ()Lcom/google/common/util/concurrent/ListenableFuture<Ljava/lang/Integer;>;
public int loadSaved();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=16, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: invokestatic java.lang.System.nanoTime:()J
lstore 2
start local 2 2: aload 0
ldc "e"
invokevirtual org.apache.cassandra.cache.AutoSavingCache.getCacheDataPath:(Ljava/lang/String;)Ljava/io/File;
astore 4
start local 4 3: aload 0
ldc "e"
invokevirtual org.apache.cassandra.cache.AutoSavingCache.getCacheCrcPath:(Ljava/lang/String;)Ljava/io/File;
astore 5
start local 5 4: aload 4
invokevirtual java.io.File.exists:()Z
ifeq 55
aload 5
invokevirtual java.io.File.exists:()Z
ifeq 55
5: aconst_null
astore 6
start local 6 6: getstatic org.apache.cassandra.cache.AutoSavingCache.logger:Lorg/slf4j/Logger;
ldc "reading saved cache {}"
aload 4
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
7: new org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus
dup
new org.apache.cassandra.io.util.LengthAvailableInputStream
dup
new java.io.BufferedInputStream
dup
getstatic org.apache.cassandra.cache.AutoSavingCache.streamFactory:Lorg/apache/cassandra/cache/AutoSavingCache$IStreamFactory;
aload 4
aload 5
invokeinterface org.apache.cassandra.cache.AutoSavingCache$IStreamFactory.getInputStream:(Ljava/io/File;Ljava/io/File;)Ljava/io/InputStream;
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
aload 4
invokevirtual java.io.File.length:()J
invokespecial org.apache.cassandra.io.util.LengthAvailableInputStream.<init>:(Ljava/io/InputStream;J)V
invokespecial org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.<init>:(Ljava/io/InputStream;)V
astore 6
8: new java.util.UUID
dup
aload 6
invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readLong:()J
aload 6
invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readLong:()J
invokespecial java.util.UUID.<init>:(JJ)V
astore 7
start local 7 9: aload 7
getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
invokevirtual org.apache.cassandra.config.Schema.getVersion:()Ljava/util/UUID;
invokevirtual java.util.UUID.equals:(Ljava/lang/Object;)Z
ifne 15
10: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Cache schema version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 7
invokevirtual java.util.UUID.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " does not match current schema version "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
invokevirtual org.apache.cassandra.config.Schema.getVersion:()Ljava/util/UUID;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: org.apache.cassandra.cache.AutoSavingCache int long java.io.File java.io.File org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus java.util.UUID
StackMap stack:
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 8
start local 8 16: goto 35
17: StackMap locals: java.util.ArrayDeque
StackMap stack:
aload 6
invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readUTF:()Ljava/lang/String;
astore 9
start local 9 18: aload 6
invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.readUTF:()Ljava/lang/String;
astore 10
start local 10 19: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 9
aload 10
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
invokevirtual org.apache.cassandra.config.Schema.getColumnFamilyStoreIncludingIndexes:(Lorg/apache/cassandra/utils/Pair;)Lorg/apache/cassandra/db/ColumnFamilyStore;
astore 11
start local 11 20: aload 0
getfield org.apache.cassandra.cache.AutoSavingCache.cacheLoader:Lorg/apache/cassandra/cache/AutoSavingCache$CacheSerializer;
aload 6
aload 11
invokeinterface org.apache.cassandra.cache.AutoSavingCache$CacheSerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;Lorg/apache/cassandra/db/ColumnFamilyStore;)Ljava/util/concurrent/Future;
astore 12
start local 12 21: aload 12
ifnonnull 23
22: goto 35
23: StackMap locals: org.apache.cassandra.cache.AutoSavingCache int long java.io.File java.io.File org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus java.util.UUID java.util.ArrayDeque java.lang.String java.lang.String org.apache.cassandra.db.ColumnFamilyStore java.util.concurrent.Future
StackMap stack:
aload 8
aload 12
invokevirtual java.util.ArrayDeque.offer:(Ljava/lang/Object;)Z
pop
24: iinc 1 1
25: goto 30
26: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
checkcast java.util.concurrent.Future
astore 13
start local 13 27: aload 13
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
checkcast org.apache.cassandra.utils.Pair
astore 14
start local 14 28: aload 14
ifnull 30
aload 14
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
ifnull 30
29: aload 0
aload 14
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast org.apache.cassandra.cache.CacheKey
aload 14
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
invokevirtual org.apache.cassandra.cache.AutoSavingCache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 14 end local 13 30: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.ArrayDeque.peek:()Ljava/lang/Object;
ifnull 31
aload 8
invokevirtual java.util.ArrayDeque.peek:()Ljava/lang/Object;
checkcast java.util.concurrent.Future
invokeinterface java.util.concurrent.Future.isDone:()Z
ifne 26
31: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.ArrayDeque.size:()I
sipush 1000
if_icmple 33
32: invokestatic java.lang.Thread.yield:()V
33: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.ArrayDeque.size:()I
sipush 1000
34: if_icmpgt 30
end local 12 end local 11 end local 10 end local 9 35: StackMap locals: org.apache.cassandra.cache.AutoSavingCache int long java.io.File java.io.File org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus java.util.UUID java.util.ArrayDeque
StackMap stack:
aload 6
invokevirtual org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.available:()I
ifgt 17
36: aconst_null
astore 9
start local 9 37: goto 41
38: StackMap locals: java.util.concurrent.Future
StackMap stack:
aload 9
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
checkcast org.apache.cassandra.utils.Pair
astore 10
start local 10 39: aload 10
ifnull 41
aload 10
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
ifnull 41
40: aload 0
aload 10
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast org.apache.cassandra.cache.CacheKey
aload 10
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
invokevirtual org.apache.cassandra.cache.AutoSavingCache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 10 41: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
checkcast java.util.concurrent.Future
dup
astore 9
ifnonnull 38
end local 9 end local 8 end local 7 42: goto 54
43: StackMap locals: org.apache.cassandra.cache.AutoSavingCache int long java.io.File java.io.File org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus
StackMap stack: org.apache.cassandra.io.util.CorruptFileException
astore 7
start local 7 44: aload 7
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
45: getstatic org.apache.cassandra.cache.AutoSavingCache.logger:Lorg/slf4j/Logger;
ldc "Non-fatal checksum error reading saved cache %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 7
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 46: aload 6
invokestatic org.apache.cassandra.io.util.FileUtils.closeQuietly:(Ljava/io/Closeable;)V
goto 55
47: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
start local 7 48: aload 7
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
49: getstatic org.apache.cassandra.cache.AutoSavingCache.logger:Lorg/slf4j/Logger;
ldc "Harmless error reading saved cache %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 7
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 50: aload 6
invokestatic org.apache.cassandra.io.util.FileUtils.closeQuietly:(Ljava/io/Closeable;)V
goto 55
51: StackMap locals:
StackMap stack: java.lang.Throwable
astore 15
52: aload 6
invokestatic org.apache.cassandra.io.util.FileUtils.closeQuietly:(Ljava/io/Closeable;)V
53: aload 15
athrow
54: StackMap locals:
StackMap stack:
aload 6
invokestatic org.apache.cassandra.io.util.FileUtils.closeQuietly:(Ljava/io/Closeable;)V
end local 6 55: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.cache.AutoSavingCache.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 59
56: getstatic org.apache.cassandra.cache.AutoSavingCache.logger:Lorg/slf4j/Logger;
ldc "completed reading ({} ms; {} keys) saved cache {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
57: getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic java.lang.System.nanoTime:()J
lload 2
lsub
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 4
aastore
58: invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
59: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lorg/apache/cassandra/cache/AutoSavingCache<TK;TV;>;
1 60 1 count I
2 60 2 start J
3 60 4 dataPath Ljava/io/File;
4 60 5 crcPath Ljava/io/File;
6 55 6 in Lorg/apache/cassandra/io/util/DataInputPlus$DataInputStreamPlus;
9 42 7 schemaVersion Ljava/util/UUID;
16 42 8 futures Ljava/util/ArrayDeque<Ljava/util/concurrent/Future<Lorg/apache/cassandra/utils/Pair<TK;TV;>;>;>;
18 35 9 ksname Ljava/lang/String;
19 35 10 cfname Ljava/lang/String;
20 35 11 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
21 35 12 entryFuture Ljava/util/concurrent/Future<Lorg/apache/cassandra/utils/Pair<TK;TV;>;>;
27 30 13 future Ljava/util/concurrent/Future<Lorg/apache/cassandra/utils/Pair<TK;TV;>;>;
28 30 14 entry Lorg/apache/cassandra/utils/Pair<TK;TV;>;
37 42 9 future Ljava/util/concurrent/Future<Lorg/apache/cassandra/utils/Pair<TK;TV;>;>;
39 41 10 entry Lorg/apache/cassandra/utils/Pair<TK;TV;>;
44 46 7 e Lorg/apache/cassandra/io/util/CorruptFileException;
48 50 7 t Ljava/lang/Throwable;
Exception table:
from to target type
6 42 43 Class org.apache.cassandra.io.util.CorruptFileException
6 42 47 Class java.lang.Throwable
6 46 51 any
47 50 51 any
public java.util.concurrent.Future<?> submitWrite(int);
descriptor: (I)Ljava/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, 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
iload 1
invokevirtual org.apache.cassandra.cache.AutoSavingCache.getWriter:(I)Lorg/apache/cassandra/cache/AutoSavingCache$Writer;
invokevirtual org.apache.cassandra.db.compaction.CompactionManager.submitCacheWrite:(Lorg/apache/cassandra/cache/AutoSavingCache$Writer;)Ljava/util/concurrent/Future;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cache/AutoSavingCache<TK;TV;>;
0 1 1 keysToSave I
Signature: (I)Ljava/util/concurrent/Future<*>;
MethodParameters:
Name Flags
keysToSave
}
Signature: <K:Lorg/apache/cassandra/cache/CacheKey;V:Ljava/lang/Object;>Lorg/apache/cassandra/cache/InstrumentingCache<TK;TV;>;
SourceFile: "AutoSavingCache.java"
NestMembers:
org.apache.cassandra.cache.AutoSavingCache$1 org.apache.cassandra.cache.AutoSavingCache$2 org.apache.cassandra.cache.AutoSavingCache$3 org.apache.cassandra.cache.AutoSavingCache$4 org.apache.cassandra.cache.AutoSavingCache$CacheSerializer org.apache.cassandra.cache.AutoSavingCache$IStreamFactory org.apache.cassandra.cache.AutoSavingCache$Writer
InnerClasses:
org.apache.cassandra.cache.AutoSavingCache$1
org.apache.cassandra.cache.AutoSavingCache$2
org.apache.cassandra.cache.AutoSavingCache$3
org.apache.cassandra.cache.AutoSavingCache$4
public abstract CacheSerializer = org.apache.cassandra.cache.AutoSavingCache$CacheSerializer of org.apache.cassandra.cache.AutoSavingCache
public abstract IStreamFactory = org.apache.cassandra.cache.AutoSavingCache$IStreamFactory of org.apache.cassandra.cache.AutoSavingCache
public Writer = org.apache.cassandra.cache.AutoSavingCache$Writer of org.apache.cassandra.cache.AutoSavingCache
public DataInputStreamPlus = org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus of org.apache.cassandra.io.util.DataInputPlus
public final CacheType = org.apache.cassandra.service.CacheService$CacheType of org.apache.cassandra.service.CacheService