From ff24c10a09500674c04f8e823e3dd89b63a66258 Mon Sep 17 00:00:00 2001 From: dan jatnieks Date: Mon, 31 Jan 2022 10:34:59 -0800 Subject: [PATCH] STAR-1056 Update FSError to store File instead of String value (#320) (cherry picked from commit c390f5f9694bac00d29814abb54be4cf940f347b) --- src/java/org/apache/cassandra/io/FSError.java | 8 ++++---- src/java/org/apache/cassandra/io/FSReadError.java | 6 +++--- src/java/org/apache/cassandra/io/FSWriteError.java | 2 +- .../io/sstable/CorruptSSTableException.java | 12 ++++++------ .../cassandra/service/DefaultFSErrorHandler.java | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/java/org/apache/cassandra/io/FSError.java b/src/java/org/apache/cassandra/io/FSError.java index 65313947a126..5552ee3757cf 100644 --- a/src/java/org/apache/cassandra/io/FSError.java +++ b/src/java/org/apache/cassandra/io/FSError.java @@ -24,18 +24,18 @@ public abstract class FSError extends IOError { - public final String path; + public final File file; - public FSError(Throwable cause, File path) + public FSError(Throwable cause, File file) { super(cause); - this.path = path.toString(); + this.file = file; } public FSError(Throwable cause, Path path) { super(cause); - this.path = path.toString(); + this.file = new File(path); } /** diff --git a/src/java/org/apache/cassandra/io/FSReadError.java b/src/java/org/apache/cassandra/io/FSReadError.java index 18041560b427..eef37bda52f6 100644 --- a/src/java/org/apache/cassandra/io/FSReadError.java +++ b/src/java/org/apache/cassandra/io/FSReadError.java @@ -28,9 +28,9 @@ public FSReadError(Throwable cause, Path path) super(cause, path); } - public FSReadError(Throwable cause, File path) + public FSReadError(Throwable cause, File file) { - super(cause, path); + super(cause, file); } public FSReadError(Throwable cause, String path) @@ -41,6 +41,6 @@ public FSReadError(Throwable cause, String path) @Override public String toString() { - return "FSReadError in " + path; + return "FSReadError in " + file; } } diff --git a/src/java/org/apache/cassandra/io/FSWriteError.java b/src/java/org/apache/cassandra/io/FSWriteError.java index e0691965fe58..8786194af0f5 100644 --- a/src/java/org/apache/cassandra/io/FSWriteError.java +++ b/src/java/org/apache/cassandra/io/FSWriteError.java @@ -46,6 +46,6 @@ public FSWriteError(Throwable cause) @Override public String toString() { - return "FSWriteError in " + path; + return "FSWriteError in " + file; } } diff --git a/src/java/org/apache/cassandra/io/sstable/CorruptSSTableException.java b/src/java/org/apache/cassandra/io/sstable/CorruptSSTableException.java index d5fecd2e9f9e..d102a827ff31 100644 --- a/src/java/org/apache/cassandra/io/sstable/CorruptSSTableException.java +++ b/src/java/org/apache/cassandra/io/sstable/CorruptSSTableException.java @@ -21,12 +21,12 @@ public class CorruptSSTableException extends RuntimeException { - public final File path; + public final File file; - public CorruptSSTableException(Throwable cause, File path) + public CorruptSSTableException(Throwable cause, File file) { - super("Corrupted: " + path, cause); - this.path = path; + super("Corrupted: " + file, cause); + this.file = file; } public CorruptSSTableException(Throwable cause, String path) @@ -34,9 +34,9 @@ public CorruptSSTableException(Throwable cause, String path) this(cause, new File(path)); } - protected CorruptSSTableException(String msg, Throwable cause, File path) + protected CorruptSSTableException(String msg, Throwable cause, File file) { super(msg, cause); - this.path = path; + this.file = file; } } diff --git a/src/java/org/apache/cassandra/service/DefaultFSErrorHandler.java b/src/java/org/apache/cassandra/service/DefaultFSErrorHandler.java index 78936ab1bfe2..1b4c4b0d2057 100644 --- a/src/java/org/apache/cassandra/service/DefaultFSErrorHandler.java +++ b/src/java/org/apache/cassandra/service/DefaultFSErrorHandler.java @@ -81,10 +81,10 @@ public void handleFSError(FSError e) } // for both read and write errors mark the path as unwritable. - DisallowedDirectories.maybeMarkUnwritable(new File(e.path)); + DisallowedDirectories.maybeMarkUnwritable(e.file); if (e instanceof FSReadError) { - File directory = DisallowedDirectories.maybeMarkUnreadable(new File(e.path)); + File directory = DisallowedDirectories.maybeMarkUnreadable(e.file); if (directory != null) Keyspace.removeUnreadableSSTables(directory); }