public final class org.apache.cassandra.io.util.FileUtils
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.io.util.FileUtils
super_class: java.lang.Object
{
public static final java.nio.charset.Charset CHARSET;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final long ONE_KB;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
public static final long ONE_MB;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1048576
public static final long ONE_GB;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1073741824
public static final long ONE_TB;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1099511627776
private static final java.text.DecimalFormat df;
descriptor: Ljava/text/DecimalFormat;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final boolean isCleanerAvailable;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.atomic.AtomicReference<java.util.Optional<org.apache.cassandra.io.FSErrorHandler>> fsErrorHandler;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/util/Optional<Lorg/apache/cassandra/io/FSErrorHandler;>;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: ldc Lorg/apache/cassandra/io/util/FileUtils;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.cassandra.io.util.FileUtils.$assertionsDisabled:Z
3: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
putstatic org.apache.cassandra.io.util.FileUtils.CHARSET:Ljava/nio/charset/Charset;
4: ldc Lorg/apache/cassandra/io/util/FileUtils;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
5: new java.text.DecimalFormat
dup
ldc "#.##"
invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
putstatic org.apache.cassandra.io.util.FileUtils.df:Ljava/text/DecimalFormat;
6: new java.util.concurrent.atomic.AtomicReference
dup
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
putstatic org.apache.cassandra.io.util.FileUtils.fsErrorHandler:Ljava/util/concurrent/atomic/AtomicReference;
7: iconst_0
istore 0
start local 0 8: iconst_1
invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
astore 1
start local 1 9: aload 1
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.cleaner:()Lsun/misc/Cleaner;
invokevirtual sun.misc.Cleaner.clean:()V
10: iconst_1
istore 0
end local 1 11: goto 15
12: StackMap locals: int
StackMap stack: java.lang.Throwable
astore 1
start local 1 13: aload 1
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
14: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Cannot initialize un-mmaper. (Are you using a non-Oracle JVM?) Compacted data files will not be removed promptly. Consider using an Oracle JVM or using standard disk access mode"
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
end local 1 15: StackMap locals:
StackMap stack:
iload 0
putstatic org.apache.cassandra.io.util.FileUtils.isCleanerAvailable:Z
end local 0 16: return
LocalVariableTable:
Start End Slot Name Signature
8 16 0 canClean Z
9 11 1 buf Ljava/nio/ByteBuffer;
13 15 1 t Ljava/lang/Throwable;
Exception table:
from to target type
8 11 12 Class java.lang.Throwable
public static void createHardLink(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic org.apache.cassandra.io.util.FileUtils.createHardLink:(Ljava/io/File;Ljava/io/File;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 from Ljava/lang/String;
0 2 1 to Ljava/lang/String;
MethodParameters:
Name Flags
from
to
public static void createHardLink(java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.File.exists:()Z
ifeq 2
1: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Tried to create duplicate hard link to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.File.exists:()Z
ifne 4
3: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Tried to hard link to file that does not exist "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
aload 0
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic java.nio.file.Files.createLink:(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
pop
5: goto 8
6: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 7: new org.apache.cassandra.io.FSWriteError
dup
aload 2
aload 1
invokespecial org.apache.cassandra.io.FSWriteError.<init>:(Ljava/lang/Throwable;Ljava/io/File;)V
athrow
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 from Ljava/io/File;
0 9 1 to Ljava/io/File;
7 8 2 e Ljava/io/IOException;
Exception table:
from to target type
4 5 6 Class java.io.IOException
MethodParameters:
Name Flags
from
to
public static java.io.File createTempFile(java.lang.String, java.lang.String, java.io.File);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 3: new org.apache.cassandra.io.FSWriteError
dup
aload 3
aload 2
invokespecial org.apache.cassandra.io.FSWriteError.<init>:(Ljava/lang/Throwable;Ljava/io/File;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 prefix Ljava/lang/String;
0 4 1 suffix Ljava/lang/String;
0 4 2 directory Ljava/io/File;
3 4 3 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
prefix
suffix
directory
public static java.io.File createTempFile(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new java.io.File
dup
ldc "java.io.tmpdir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic org.apache.cassandra.io.util.FileUtils.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 prefix Ljava/lang/String;
0 1 1 suffix Ljava/lang/String;
MethodParameters:
Name Flags
prefix
suffix
public static java.lang.Throwable deleteWithConfirm(java.lang.String, boolean, java.lang.Throwable);
descriptor: (Ljava/lang/String;ZLjava/lang/Throwable;)Ljava/lang/Throwable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
iload 1
aload 2
invokestatic org.apache.cassandra.io.util.FileUtils.deleteWithConfirm:(Ljava/io/File;ZLjava/lang/Throwable;)Ljava/lang/Throwable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 filePath Ljava/lang/String;
0 1 1 expect Z
0 1 2 accumulate Ljava/lang/Throwable;
MethodParameters:
Name Flags
filePath
expect
accumulate
public static java.lang.Throwable deleteWithConfirm(java.io.File, boolean, java.lang.Throwable);
descriptor: (Ljava/io/File;ZLjava/lang/Throwable;)Ljava/lang/Throwable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.io.File.exists:()Z
istore 3
start local 3 1: getstatic org.apache.cassandra.io.util.FileUtils.$assertionsDisabled:Z
ifne 2
iload 3
ifne 2
iload 1
ifeq 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "attempted to delete non-existing file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: int
StackMap stack:
iload 3
ifeq 9
3: aload 0
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
4: goto 9
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 6: new org.apache.cassandra.io.FSWriteError
dup
aload 4
aload 0
invokespecial org.apache.cassandra.io.FSWriteError.<init>:(Ljava/lang/Throwable;Ljava/io/File;)V
athrow
7: StackMap locals: java.io.File int java.lang.Throwable int java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 5
start local 5 8: aload 2
aload 5
invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 2
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 file Ljava/io/File;
0 10 1 expect Z
0 10 2 accumulate Ljava/lang/Throwable;
1 10 3 exists Z
6 9 4 t Ljava/lang/Throwable;
8 9 5 t2 Ljava/lang/Throwable;
Exception table:
from to target type
2 4 5 Class java.lang.Throwable
6 7 7 Class java.lang.Throwable
MethodParameters:
Name Flags
file
expect
accumulate
public static void deleteWithConfirm(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic org.apache.cassandra.io.util.FileUtils.deleteWithConfirm:(Ljava/io/File;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 file Ljava/lang/String;
MethodParameters:
Name Flags
file
public static void deleteWithConfirm(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
aconst_null
invokestatic org.apache.cassandra.io.util.FileUtils.deleteWithConfirm:(Ljava/io/File;ZLjava/lang/Throwable;)Ljava/lang/Throwable;
invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 file Ljava/io/File;
MethodParameters:
Name Flags
file
public static void renameWithOutConfirm(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic org.apache.cassandra.io.util.FileUtils.atomicMoveWithFallback:(Ljava/nio/file/Path;Ljava/nio/file/Path;)V
1: goto 5
2: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 3: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 5
4: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Could not move file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 from Ljava/lang/String;
0 6 1 to Ljava/lang/String;
3 5 2 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
from
to
public static void renameWithConfirm(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic org.apache.cassandra.io.util.FileUtils.renameWithConfirm:(Ljava/io/File;Ljava/io/File;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 from Ljava/lang/String;
0 2 1 to Ljava/lang/String;
MethodParameters:
Name Flags
from
to
public static void renameWithConfirm(java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.io.util.FileUtils.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.io.File.exists:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 3
2: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Renaming {} to {}"
aload 0
invokevirtual java.io.File.getPath:()Ljava/lang/String;
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
aload 1
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic org.apache.cassandra.io.util.FileUtils.atomicMoveWithFallback:(Ljava/nio/file/Path;Ljava/nio/file/Path;)V
4: goto 7
5: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 6: new java.lang.RuntimeException
dup
ldc "Failed to rename %s to %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.io.File.getPath:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 from Ljava/io/File;
0 8 1 to Ljava/io/File;
6 7 2 e Ljava/io/IOException;
Exception table:
from to target type
3 4 5 Class java.io.IOException
MethodParameters:
Name Flags
from
to
private static void atomicMoveWithFallback(java.nio.file.Path, java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_2
anewarray java.nio.file.CopyOption
dup
iconst_0
getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
aastore
invokestatic java.nio.file.Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
pop
1: goto 5
2: StackMap locals:
StackMap stack: java.nio.file.AtomicMoveNotSupportedException
astore 2
start local 2 3: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Could not do an atomic move"
aload 2
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
4: aload 0
aload 1
iconst_1
anewarray java.nio.file.CopyOption
dup
iconst_0
getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
aastore
invokestatic java.nio.file.Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
pop
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 from Ljava/nio/file/Path;
0 6 1 to Ljava/nio/file/Path;
3 5 2 e Ljava/nio/file/AtomicMoveNotSupportedException;
Exception table:
from to target type
0 1 2 Class java.nio.file.AtomicMoveNotSupportedException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
from
to
public static void truncate(java.lang.String, long);
descriptor: (Ljava/lang/String;J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 3
aconst_null
astore 4
1: aload 0
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
iconst_2
anewarray java.nio.file.OpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
astore 5
start local 5 2: aload 5
lload 1
invokevirtual java.nio.channels.FileChannel.truncate:(J)Ljava/nio/channels/FileChannel;
pop
3: aload 5
ifnull 11
aload 5
invokevirtual java.nio.channels.FileChannel.close:()V
goto 11
StackMap locals: java.lang.String long java.lang.Throwable java.lang.Throwable java.nio.channels.FileChannel
StackMap stack: java.lang.Throwable
4: astore 3
aload 5
ifnull 5
aload 5
invokevirtual java.nio.channels.FileChannel.close:()V
end local 5 StackMap locals:
StackMap stack:
5: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 4
aload 3
ifnonnull 7
aload 4
astore 3
goto 8
StackMap locals:
StackMap stack:
7: aload 3
aload 4
if_acmpeq 8
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
8: aload 3
athrow
9: StackMap locals: java.lang.String long
StackMap stack: java.io.IOException
astore 3
start local 3 10: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 path Ljava/lang/String;
0 12 1 size J
2 5 5 channel Ljava/nio/channels/FileChannel;
10 11 3 e Ljava/io/IOException;
Exception table:
from to target type
2 3 4 any
1 6 6 any
0 9 9 Class java.io.IOException
MethodParameters:
Name Flags
path
size
public static void closeQuietly(java.io.Closeable);
descriptor: (Ljava/io/Closeable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
ifnull 5
1: aload 0
invokeinterface java.io.Closeable.close:()V
2: goto 5
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 4: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Failed closing {}"
aload 0
aload 1
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 c Ljava/io/Closeable;
4 5 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 2 3 Class java.lang.Exception
MethodParameters:
Name Flags
c
public static void closeQuietly(java.lang.AutoCloseable);
descriptor: (Ljava/lang/AutoCloseable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
ifnull 5
1: aload 0
invokeinterface java.lang.AutoCloseable.close:()V
2: goto 5
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 4: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Failed closing {}"
aload 0
aload 1
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 c Ljava/lang/AutoCloseable;
4 5 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 2 3 Class java.lang.Exception
MethodParameters:
Name Flags
c
public static void close(java.io.Closeable[]);
descriptor: ([Ljava/io/Closeable;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokestatic org.apache.cassandra.io.util.FileUtils.close:(Ljava/lang/Iterable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 cs [Ljava/io/Closeable;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cs
public static void close(java.lang.Iterable<? extends java.io.Closeable>);
descriptor: (Ljava/lang/Iterable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: java.lang.Iterable java.lang.Throwable top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.Closeable
astore 2
start local 2 3: aload 2
ifnull 10
4: aload 2
invokeinterface java.io.Closeable.close:()V
5: goto 10
6: StackMap locals: java.lang.Iterable java.lang.Throwable java.io.Closeable java.util.Iterator
StackMap stack: java.lang.Throwable
astore 4
start local 4 7: aload 1
ifnonnull 8
aload 4
astore 1
goto 9
8: StackMap locals: java.lang.Throwable
StackMap stack:
aload 1
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
9: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Failed closing stream {}"
aload 2
aload 4
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 end local 2 10: StackMap locals: java.lang.Iterable java.lang.Throwable top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: aload 1
ldc Ljava/io/IOException;
invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;Ljava/lang/Class;)V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 cs Ljava/lang/Iterable<+Ljava/io/Closeable;>;
1 13 1 e Ljava/lang/Throwable;
3 10 2 c Ljava/io/Closeable;
7 10 4 ex Ljava/lang/Throwable;
Exception table:
from to target type
3 5 6 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/Iterable<+Ljava/io/Closeable;>;)V
MethodParameters:
Name Flags
cs
public static void closeQuietly(java.lang.Iterable<? extends java.lang.AutoCloseable>);
descriptor: (Ljava/lang/Iterable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 2
goto 7
StackMap locals: java.lang.Iterable top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.AutoCloseable
astore 1
start local 1 2: aload 1
ifnull 7
3: aload 1
invokeinterface java.lang.AutoCloseable.close:()V
4: goto 7
5: StackMap locals: java.lang.Iterable java.lang.AutoCloseable java.util.Iterator
StackMap stack: java.lang.Exception
astore 3
start local 3 6: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Failed closing {}"
aload 1
aload 3
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 end local 1 7: StackMap locals: java.lang.Iterable top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 cs Ljava/lang/Iterable<+Ljava/lang/AutoCloseable;>;
2 7 1 c Ljava/lang/AutoCloseable;
6 7 3 ex Ljava/lang/Exception;
Exception table:
from to target type
2 4 5 Class java.lang.Exception
Signature: (Ljava/lang/Iterable<+Ljava/lang/AutoCloseable;>;)V
MethodParameters:
Name Flags
cs
public static java.lang.String getCanonicalPath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: new org.apache.cassandra.io.FSReadError
dup
aload 1
aload 0
invokespecial org.apache.cassandra.io.FSReadError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 filename Ljava/lang/String;
3 4 1 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
filename
public static java.lang.String getCanonicalPath(java.io.File);
descriptor: (Ljava/io/File;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: new org.apache.cassandra.io.FSReadError
dup
aload 1
aload 0
invokespecial org.apache.cassandra.io.FSReadError.<init>:(Ljava/lang/Throwable;Ljava/io/File;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 file Ljava/io/File;
3 4 1 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
file
public static boolean isContained(java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.apache.cassandra.io.util.FileUtils.getCanonicalPath:(Ljava/io/File;)Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokestatic org.apache.cassandra.io.util.FileUtils.getCanonicalPath:(Ljava/io/File;)Ljava/lang/String;
astore 3
start local 3 2: aload 3
aload 2
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 folder Ljava/io/File;
0 3 1 file Ljava/io/File;
1 3 2 folderPath Ljava/lang/String;
2 3 3 filePath Ljava/lang/String;
MethodParameters:
Name Flags
folder
file
public static java.lang.String getRelativePath(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
aload 1
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.relativize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
pop
3: aload 0
invokestatic org.apache.cassandra.io.util.FileUtils.getCanonicalPath:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: aload 2
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
aload 1
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.relativize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 basePath Ljava/lang/String;
0 5 1 path Ljava/lang/String;
4 5 2 absDataPath Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
basePath
path
public static void clean(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.io.util.FileUtils.isCleanerAvailable:Z
ifeq 6
aload 0
invokevirtual java.nio.ByteBuffer.isDirect:()Z
ifeq 6
3: aload 0
checkcast sun.nio.ch.DirectBuffer
astore 1
start local 1 4: aload 1
invokeinterface sun.nio.ch.DirectBuffer.cleaner:()Lsun/misc/Cleaner;
ifnull 6
5: aload 1
invokeinterface sun.nio.ch.DirectBuffer.cleaner:()Lsun/misc/Cleaner;
invokevirtual sun.misc.Cleaner.clean:()V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 buffer Ljava/nio/ByteBuffer;
4 6 1 db Lsun/nio/ch/DirectBuffer;
MethodParameters:
Name Flags
buffer
public static void createDirectory(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic org.apache.cassandra.io.util.FileUtils.createDirectory:(Ljava/io/File;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 directory Ljava/lang/String;
MethodParameters:
Name Flags
directory
public static void createDirectory(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.exists:()Z
ifne 3
1: aload 0
invokevirtual java.io.File.mkdirs:()Z
ifne 3
2: new org.apache.cassandra.io.FSWriteError
dup
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Failed to mkdirs "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
aload 0
invokespecial org.apache.cassandra.io.FSWriteError.<init>:(Ljava/lang/Throwable;Ljava/io/File;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 directory Ljava/io/File;
MethodParameters:
Name Flags
directory
public static boolean delete(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
invokevirtual java.io.File.delete:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 file Ljava/lang/String;
1 2 1 f Ljava/io/File;
MethodParameters:
Name Flags
file
public static void delete(java.io.File[]);
descriptor: ([Ljava/io/File;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 3
1: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Received null list of files to delete"
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 7
StackMap locals: java.io.File[] top int int java.io.File[]
StackMap stack:
4: aload 4
iload 2
aaload
astore 1
start local 1 5: aload 1
invokevirtual java.io.File.delete:()Z
pop
end local 1 6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 4
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 files [Ljava/io/File;
5 6 1 file Ljava/io/File;
MethodParameters:
Name Flags
files
public static void deleteAsync(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new org.apache.cassandra.io.util.FileUtils$1
dup
aload 0
invokespecial org.apache.cassandra.io.util.FileUtils$1.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: getstatic org.apache.cassandra.concurrent.ScheduledExecutors.nonPeriodicTasks:Lorg/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor;
aload 1
invokevirtual org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.execute:(Ljava/lang/Runnable;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 file Ljava/lang/String;
1 3 1 runnable Ljava/lang/Runnable;
MethodParameters:
Name Flags
file final
public static void visitDirectory(java.nio.file.Path, java.util.function.Predicate<? super java.io.File>, java.util.function.Consumer<? super java.io.File>);
descriptor: (Ljava/nio/file/Path;Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
aconst_null
astore 4
1: aload 0
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
astore 5
start local 5 2: aload 5
invokeinterface java.nio.file.DirectoryStream.spliterator:()Ljava/util/Spliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
3: invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
java/nio/file/Path.toFile()Ljava/io/File; (9 itf)
(Ljava/nio/file/Path;)Ljava/io/File;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
4: aload 1
invokedynamic test(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
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;)Z
org/apache/cassandra/io/util/FileUtils.lambda$1(Ljava/util/function/Predicate;Ljava/io/File;)Z (6)
(Ljava/io/File;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
5: aload 2
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
6: aload 5
ifnull 14
aload 5
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 14
StackMap locals: java.nio.file.Path java.util.function.Predicate java.util.function.Consumer java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
7: astore 3
aload 5
ifnull 8
aload 5
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 5 StackMap locals:
StackMap stack:
8: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 4
aload 3
ifnonnull 10
aload 4
astore 3
goto 11
StackMap locals:
StackMap stack:
10: aload 3
aload 4
if_acmpeq 11
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 3
athrow
12: StackMap locals: java.nio.file.Path java.util.function.Predicate java.util.function.Consumer
StackMap stack: java.lang.Exception
astore 3
start local 3 13: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Failed to list files in {} with exception: {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 3
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aastore
dup
iconst_2
aload 3
aastore
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 3 14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 dir Ljava/nio/file/Path;
0 15 1 filter Ljava/util/function/Predicate<-Ljava/io/File;>;
0 15 2 consumer Ljava/util/function/Consumer<-Ljava/io/File;>;
2 8 5 stream Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
13 14 3 ex Ljava/lang/Exception;
Exception table:
from to target type
2 6 7 any
1 9 9 any
0 12 12 Class java.io.IOException
0 12 12 Class java.nio.file.DirectoryIteratorException
Signature: (Ljava/nio/file/Path;Ljava/util/function/Predicate<-Ljava/io/File;>;Ljava/util/function/Consumer<-Ljava/io/File;>;)V
MethodParameters:
Name Flags
dir
filter
consumer
public static java.lang.String stringifyFileSize(double);
descriptor: (D)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: dload 0
ldc 1.099511627776E12
dcmpl
iflt 4
1: dload 0
ldc 1.099511627776E12
ddiv
dstore 2
start local 2 2: getstatic org.apache.cassandra.io.util.FileUtils.df:Ljava/text/DecimalFormat;
dload 2
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
astore 4
start local 4 3: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " TiB"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 2 4: StackMap locals:
StackMap stack:
dload 0
ldc 1.073741824E9
dcmpl
iflt 8
5: dload 0
ldc 1.073741824E9
ddiv
dstore 2
start local 2 6: getstatic org.apache.cassandra.io.util.FileUtils.df:Ljava/text/DecimalFormat;
dload 2
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
astore 4
start local 4 7: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " GiB"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 2 8: StackMap locals:
StackMap stack:
dload 0
ldc 1048576.0
dcmpl
iflt 12
9: dload 0
ldc 1048576.0
ddiv
dstore 2
start local 2 10: getstatic org.apache.cassandra.io.util.FileUtils.df:Ljava/text/DecimalFormat;
dload 2
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
astore 4
start local 4 11: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " MiB"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 2 12: StackMap locals:
StackMap stack:
dload 0
ldc 1024.0
dcmpl
iflt 16
13: dload 0
ldc 1024.0
ddiv
dstore 2
start local 2 14: getstatic org.apache.cassandra.io.util.FileUtils.df:Ljava/text/DecimalFormat;
dload 2
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
astore 4
start local 4 15: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " KiB"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 2 16: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.io.util.FileUtils.df:Ljava/text/DecimalFormat;
dload 0
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
astore 4
start local 4 17: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " bytes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 value D
2 4 2 d D
6 8 2 d D
10 12 2 d D
14 16 2 d D
3 4 4 val Ljava/lang/String;
7 8 4 val Ljava/lang/String;
11 12 4 val Ljava/lang/String;
15 16 4 val Ljava/lang/String;
17 18 4 val Ljava/lang/String;
MethodParameters:
Name Flags
value
public static void deleteRecursive(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.isDirectory:()Z
ifeq 7
1: aload 0
invokevirtual java.io.File.list:()[Ljava/lang/String;
astore 1
start local 1 2: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: new java.io.File
dup
aload 0
aload 2
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
invokestatic org.apache.cassandra.io.util.FileUtils.deleteRecursive:(Ljava/io/File;)V
end local 2 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 3
end local 1 7: StackMap locals: java.io.File
StackMap stack:
aload 0
invokestatic org.apache.cassandra.io.util.FileUtils.deleteWithConfirm:(Ljava/io/File;)V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 dir Ljava/io/File;
2 7 1 children [Ljava/lang/String;
4 5 2 child Ljava/lang/String;
MethodParameters:
Name Flags
dir
public static void deleteRecursiveOnExit(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.isDirectory:()Z
ifeq 7
1: aload 0
invokevirtual java.io.File.list:()[Ljava/lang/String;
astore 1
start local 1 2: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: new java.io.File
dup
aload 0
aload 2
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
invokestatic org.apache.cassandra.io.util.FileUtils.deleteRecursiveOnExit:(Ljava/io/File;)V
end local 2 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 3
end local 1 7: StackMap locals: java.io.File
StackMap stack:
getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Scheduling deferred deletion of file: {}"
aload 0
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
8: aload 0
invokevirtual java.io.File.deleteOnExit:()V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 dir Ljava/io/File;
2 7 1 children [Ljava/lang/String;
4 5 2 child Ljava/lang/String;
MethodParameters:
Name Flags
dir
public static void handleCorruptSSTable(org.apache.cassandra.io.sstable.CorruptSSTableException);
descriptor: (Lorg/apache/cassandra/io/sstable/CorruptSSTableException;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.io.util.FileUtils.fsErrorHandler:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.util.Optional
aload 0
invokedynamic accept(Lorg/apache/cassandra/io/sstable/CorruptSSTableException;)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/io/util/FileUtils.lambda$2(Lorg/apache/cassandra/io/sstable/CorruptSSTableException;Lorg/apache/cassandra/io/FSErrorHandler;)V (6)
(Lorg/apache/cassandra/io/FSErrorHandler;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lorg/apache/cassandra/io/sstable/CorruptSSTableException;
MethodParameters:
Name Flags
e
public static void handleFSError(org.apache.cassandra.io.FSError);
descriptor: (Lorg/apache/cassandra/io/FSError;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.io.util.FileUtils.fsErrorHandler:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.util.Optional
aload 0
invokedynamic accept(Lorg/apache/cassandra/io/FSError;)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/io/util/FileUtils.lambda$3(Lorg/apache/cassandra/io/FSError;Lorg/apache/cassandra/io/FSErrorHandler;)V (6)
(Lorg/apache/cassandra/io/FSErrorHandler;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lorg/apache/cassandra/io/FSError;
MethodParameters:
Name Flags
e
public static void handleFSErrorAndPropagate(org.apache.cassandra.io.FSError);
descriptor: (Lorg/apache/cassandra/io/FSError;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.apache.cassandra.io.util.FileUtils.handleFSError:(Lorg/apache/cassandra/io/FSError;)V
1: aload 0
invokestatic com.google.common.base.Throwables.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lorg/apache/cassandra/io/FSError;
MethodParameters:
Name Flags
e
public static long folderSize(java.io.File);
descriptor: (Ljava/io/File;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: iconst_1
newarray 11
astore 1
start local 1 1: aload 0
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
new org.apache.cassandra.io.util.FileUtils$2
dup
aload 1
invokespecial org.apache.cassandra.io.util.FileUtils$2.<init>:([J)V
invokestatic java.nio.file.Files.walkFileTree:(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;
pop
2: goto 5
3: StackMap locals: java.io.File long[]
StackMap stack: java.io.IOException
astore 2
start local 2 4: getstatic org.apache.cassandra.io.util.FileUtils.logger:Lorg/slf4j/Logger;
ldc "Error while getting {} folder size. {}"
aload 0
aload 2
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 2 5: StackMap locals:
StackMap stack:
aload 1
iconst_0
laload
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 folder Ljava/io/File;
1 6 1 sizeArr [J
4 5 2 e Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
MethodParameters:
Name Flags
folder
public static void copyTo(java.io.DataInput, java.io.OutputStream, int);
descriptor: (Ljava/io/DataInput;Ljava/io/OutputStream;I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: ldc 65536
newarray 8
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 6
3: StackMap locals: byte[] int
StackMap stack:
aload 0
aload 3
invokeinterface java.io.DataInput.readFully:([B)V
4: aload 1
aload 3
invokevirtual java.io.OutputStream.write:([B)V
5: iload 4
aload 3
arraylength
iadd
istore 4
6: StackMap locals:
StackMap stack:
iload 4
aload 3
arraylength
iadd
iload 2
if_icmplt 3
7: iload 4
iload 2
if_icmpge 11
8: iload 2
iload 4
isub
istore 5
start local 5 9: aload 0
aload 3
iconst_0
iload 5
invokeinterface java.io.DataInput.readFully:([BII)V
10: aload 1
aload 3
iconst_0
iload 5
invokevirtual java.io.OutputStream.write:([BII)V
end local 5 11: 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 12 0 in Ljava/io/DataInput;
0 12 1 out Ljava/io/OutputStream;
0 12 2 length I
1 12 3 buffer [B
2 12 4 copiedBytes I
9 11 5 left I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
out
length
public static boolean isSubDirectory(java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 0
1: aload 1
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 1
2: aload 1
astore 2
start local 2 3: goto 7
4: StackMap locals: java.io.File
StackMap stack:
aload 0
aload 2
invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
astore 2
7: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 parent Ljava/io/File;
0 9 1 child Ljava/io/File;
3 9 2 toCheck Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
parent
child
public static void append(java.io.File, java.lang.String[]);
descriptor: (Ljava/io/File;[Ljava/lang/String;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.io.File.exists:()Z
ifeq 2
1: aload 0
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
iconst_1
anewarray java.nio.file.StandardOpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.APPEND:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic org.apache.cassandra.io.util.FileUtils.write:(Ljava/io/File;Ljava/util/List;[Ljava/nio/file/StandardOpenOption;)V
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
iconst_1
anewarray java.nio.file.StandardOpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic org.apache.cassandra.io.util.FileUtils.write:(Ljava/io/File;Ljava/util/List;[Ljava/nio/file/StandardOpenOption;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 file Ljava/io/File;
0 4 1 lines [Ljava/lang/String;
MethodParameters:
Name Flags
file
lines
public static void appendAndSync(java.io.File, java.lang.String[]);
descriptor: (Ljava/io/File;[Ljava/lang/String;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.io.File.exists:()Z
ifeq 2
1: aload 0
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
iconst_2
anewarray java.nio.file.StandardOpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.APPEND:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardOpenOption.SYNC:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic org.apache.cassandra.io.util.FileUtils.write:(Ljava/io/File;Ljava/util/List;[Ljava/nio/file/StandardOpenOption;)V
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
iconst_2
anewarray java.nio.file.StandardOpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardOpenOption.SYNC:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic org.apache.cassandra.io.util.FileUtils.write:(Ljava/io/File;Ljava/util/List;[Ljava/nio/file/StandardOpenOption;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 file Ljava/io/File;
0 4 1 lines [Ljava/lang/String;
MethodParameters:
Name Flags
file
lines
public static void replace(java.io.File, java.lang.String[]);
descriptor: (Ljava/io/File;[Ljava/lang/String;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
iconst_1
anewarray java.nio.file.StandardOpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.TRUNCATE_EXISTING:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic org.apache.cassandra.io.util.FileUtils.write:(Ljava/io/File;Ljava/util/List;[Ljava/nio/file/StandardOpenOption;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 file Ljava/io/File;
0 2 1 lines [Ljava/lang/String;
MethodParameters:
Name Flags
file
lines
public static void write(java.io.File, java.util.List<java.lang.String>, java.nio.file.StandardOpenOption[]);
descriptor: (Ljava/io/File;Ljava/util/List;[Ljava/nio/file/StandardOpenOption;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
1: aload 1
2: getstatic org.apache.cassandra.io.util.FileUtils.CHARSET:Ljava/nio/charset/Charset;
3: aload 2
4: invokestatic java.nio.file.Files.write:(Ljava/nio/file/Path;Ljava/lang/Iterable;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
pop
5: goto 8
6: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 7: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 file Ljava/io/File;
0 9 1 lines Ljava/util/List<Ljava/lang/String;>;
0 9 2 options [Ljava/nio/file/StandardOpenOption;
7 8 3 ex Ljava/io/IOException;
Exception table:
from to target type
0 5 6 Class java.io.IOException
Signature: (Ljava/io/File;Ljava/util/List<Ljava/lang/String;>;[Ljava/nio/file/StandardOpenOption;)V
MethodParameters:
Name Flags
file
lines
options
public static java.util.List<java.lang.String> readLines(java.io.File);
descriptor: (Ljava/io/File;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
getstatic org.apache.cassandra.io.util.FileUtils.CHARSET:Ljava/nio/charset/Charset;
invokestatic java.nio.file.Files.readAllLines:(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/util/List;
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: aload 1
instanceof java.nio.file.NoSuchFileException
ifeq 5
4: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
5: StackMap locals: java.io.IOException
StackMap stack:
new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 file Ljava/io/File;
3 6 1 ex Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
Signature: (Ljava/io/File;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
file
public static void setFSErrorHandler(org.apache.cassandra.io.FSErrorHandler);
descriptor: (Lorg/apache/cassandra/io/FSErrorHandler;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.io.util.FileUtils.fsErrorHandler:Ljava/util/concurrent/atomic/AtomicReference;
aload 0
invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 handler Lorg/apache/cassandra/io/FSErrorHandler;
MethodParameters:
Name Flags
handler
public static long getTotalSpace(java.io.File);
descriptor: (Ljava/io/File;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.getTotalSpace:()J
invokestatic org.apache.cassandra.io.util.FileUtils.handleLargeFileSystem:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 file Ljava/io/File;
MethodParameters:
Name Flags
file
public static long getFreeSpace(java.io.File);
descriptor: (Ljava/io/File;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.getFreeSpace:()J
invokestatic org.apache.cassandra.io.util.FileUtils.handleLargeFileSystem:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 file Ljava/io/File;
MethodParameters:
Name Flags
file
public static long getUsableSpace(java.io.File);
descriptor: (Ljava/io/File;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.getUsableSpace:()J
invokestatic org.apache.cassandra.io.util.FileUtils.handleLargeFileSystem:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 file Ljava/io/File;
MethodParameters:
Name Flags
file
public static java.nio.file.FileStore getFileStore(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/FileStore;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.io.util.FileUtils$SafeFileStore
dup
aload 0
invokestatic java.nio.file.Files.getFileStore:(Ljava/nio/file/Path;)Ljava/nio/file/FileStore;
invokespecial org.apache.cassandra.io.util.FileUtils$SafeFileStore.<init>:(Ljava/nio/file/FileStore;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 path Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
private static long handleLargeFileSystem(long);
descriptor: (J)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
ifge 1
ldc 9223372036854775807
goto 2
StackMap locals:
StackMap stack:
1: lload 0
StackMap locals:
StackMap stack: long
2: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 size J
MethodParameters:
Name Flags
size
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/FileUtils;
private static boolean lambda$1(java.util.function.Predicate, java.io.File);
descriptor: (Ljava/util/function/Predicate;Ljava/io/File;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual java.io.File.exists:()Z
ifeq 2
aload 0
ifnull 1
aload 0
aload 1
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ifeq 2
StackMap locals:
StackMap stack:
1: iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 f Ljava/io/File;
private static void lambda$2(org.apache.cassandra.io.sstable.CorruptSSTableException, org.apache.cassandra.io.FSErrorHandler);
descriptor: (Lorg/apache/cassandra/io/sstable/CorruptSSTableException;Lorg/apache/cassandra/io/FSErrorHandler;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokeinterface org.apache.cassandra.io.FSErrorHandler.handleCorruptSSTable:(Lorg/apache/cassandra/io/sstable/CorruptSSTableException;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 handler Lorg/apache/cassandra/io/FSErrorHandler;
private static void lambda$3(org.apache.cassandra.io.FSError, org.apache.cassandra.io.FSErrorHandler);
descriptor: (Lorg/apache/cassandra/io/FSError;Lorg/apache/cassandra/io/FSErrorHandler;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokeinterface org.apache.cassandra.io.FSErrorHandler.handleFSError:(Lorg/apache/cassandra/io/FSError;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 handler Lorg/apache/cassandra/io/FSErrorHandler;
}
SourceFile: "FileUtils.java"
NestMembers:
org.apache.cassandra.io.util.FileUtils$1 org.apache.cassandra.io.util.FileUtils$2 org.apache.cassandra.io.util.FileUtils$SafeFileStore
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
org.apache.cassandra.io.util.FileUtils$1
org.apache.cassandra.io.util.FileUtils$2
private final SafeFileStore = org.apache.cassandra.io.util.FileUtils$SafeFileStore of org.apache.cassandra.io.util.FileUtils