diff --git a/paimon-common/src/main/java/org/apache/paimon/fs/FileIOLoader.java b/paimon-common/src/main/java/org/apache/paimon/fs/FileIOLoader.java index 4b1ef4f4503a..5ddd8ac05439 100644 --- a/paimon-common/src/main/java/org/apache/paimon/fs/FileIOLoader.java +++ b/paimon-common/src/main/java/org/apache/paimon/fs/FileIOLoader.java @@ -20,6 +20,7 @@ import org.apache.paimon.annotation.Public; +import java.io.Serializable; import java.util.Collections; import java.util.List; @@ -29,7 +30,7 @@ * @since 0.4.0 */ @Public -public interface FileIOLoader { +public interface FileIOLoader extends Serializable { String getScheme(); diff --git a/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopFileIOLoader.java b/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopFileIOLoader.java index 68b54bd882c4..00341ac2850d 100644 --- a/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopFileIOLoader.java +++ b/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopFileIOLoader.java @@ -24,6 +24,8 @@ /** {@link FileIOLoader} to load {@link HadoopFileIO}. */ public class HadoopFileIOLoader implements FileIOLoader { + private static final long serialVersionUID = 1L; + @Override public String getScheme() { return "hdfs"; diff --git a/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopViewFsFileIOLoader.java b/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopViewFsFileIOLoader.java index 262b7df3aed0..c60bc35d81d1 100644 --- a/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopViewFsFileIOLoader.java +++ b/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopViewFsFileIOLoader.java @@ -24,6 +24,8 @@ /** {@link FileIOLoader} to load {@link HadoopFileIO}. */ public class HadoopViewFsFileIOLoader implements FileIOLoader { + private static final long serialVersionUID = 1L; + @Override public String getScheme() { return "viewfs"; diff --git a/paimon-common/src/main/java/org/apache/paimon/fs/local/LocalFileIOLoader.java b/paimon-common/src/main/java/org/apache/paimon/fs/local/LocalFileIOLoader.java index 5d01e09c46c2..5d582ba19447 100644 --- a/paimon-common/src/main/java/org/apache/paimon/fs/local/LocalFileIOLoader.java +++ b/paimon-common/src/main/java/org/apache/paimon/fs/local/LocalFileIOLoader.java @@ -24,6 +24,8 @@ /** {@link FileIOLoader} to load {@link LocalFileIO}. */ public class LocalFileIOLoader implements FileIOLoader { + private static final long serialVersionUID = 1L; + public static final String SCHEME = "file"; @Override diff --git a/paimon-common/src/test/java/org/apache/paimon/fs/RequireOptionsFileIOLoader.java b/paimon-common/src/test/java/org/apache/paimon/fs/RequireOptionsFileIOLoader.java index 4fcfb70841ee..702f2f01bfd5 100644 --- a/paimon-common/src/test/java/org/apache/paimon/fs/RequireOptionsFileIOLoader.java +++ b/paimon-common/src/test/java/org/apache/paimon/fs/RequireOptionsFileIOLoader.java @@ -26,6 +26,8 @@ /** Test {@link FileIOLoader}. */ public class RequireOptionsFileIOLoader implements FileIOLoader { + private static final long serialVersionUID = 1L; + @Override public String getScheme() { return "require-options"; diff --git a/paimon-common/src/test/java/org/apache/paimon/utils/HadoopUtilsITCase.java b/paimon-common/src/test/java/org/apache/paimon/utils/HadoopUtilsITCase.java index 740ec94a5906..312ea96fef15 100644 --- a/paimon-common/src/test/java/org/apache/paimon/utils/HadoopUtilsITCase.java +++ b/paimon-common/src/test/java/org/apache/paimon/utils/HadoopUtilsITCase.java @@ -56,6 +56,8 @@ public void testHadoopConfDirWithScheme() throws Exception { /** {@link FileIOLoader} for this test. */ public static class TestFileIOLoader implements FileIOLoader { + private static final long serialVersionUID = 1L; + private static final String SCHEME = "hadoop-utils-test-file-io"; @Override diff --git a/paimon-core/src/test/java/org/apache/paimon/utils/FailingFileIO.java b/paimon-core/src/test/java/org/apache/paimon/utils/FailingFileIO.java index 8c36d37a174e..cd507e7e86a5 100644 --- a/paimon-core/src/test/java/org/apache/paimon/utils/FailingFileIO.java +++ b/paimon-core/src/test/java/org/apache/paimon/utils/FailingFileIO.java @@ -206,6 +206,8 @@ public static void retryArtificialException(Runnable runnable) throws Exception /** Loader for {@link FailingFileIO}. */ public static class Loader implements FileIOLoader { + private static final long serialVersionUID = 1L; + @Override public String getScheme() { return SCHEME; diff --git a/paimon-core/src/test/java/org/apache/paimon/utils/TraceableFileIO.java b/paimon-core/src/test/java/org/apache/paimon/utils/TraceableFileIO.java index ef811bb712f7..f61427a7c855 100644 --- a/paimon-core/src/test/java/org/apache/paimon/utils/TraceableFileIO.java +++ b/paimon-core/src/test/java/org/apache/paimon/utils/TraceableFileIO.java @@ -258,6 +258,8 @@ public static List openOutputStreams(Predicate filte /** Loader for {@link TraceableFileIO}. */ public static class Loader implements FileIOLoader { + private static final long serialVersionUID = 1L; + @Override public String getScheme() { return SCHEME; diff --git a/paimon-filesystems/paimon-oss/src/main/java/org/apache/paimon/oss/OSSLoader.java b/paimon-filesystems/paimon-oss/src/main/java/org/apache/paimon/oss/OSSLoader.java index 8311b8014167..bef7c2a5218a 100644 --- a/paimon-filesystems/paimon-oss/src/main/java/org/apache/paimon/oss/OSSLoader.java +++ b/paimon-filesystems/paimon-oss/src/main/java/org/apache/paimon/oss/OSSLoader.java @@ -31,6 +31,8 @@ /** A {@link PluginLoader} to load oss. */ public class OSSLoader implements FileIOLoader { + private static final long serialVersionUID = 1L; + private static final String OSS_CLASSES_DIR = "paimon-plugin-oss"; private static final String OSS_CLASS = "org.apache.paimon.oss.OSSFileIO"; diff --git a/paimon-filesystems/paimon-s3/src/main/java/org/apache/paimon/s3/S3Loader.java b/paimon-filesystems/paimon-s3/src/main/java/org/apache/paimon/s3/S3Loader.java index 02ffd7b4c217..9844b661086a 100644 --- a/paimon-filesystems/paimon-s3/src/main/java/org/apache/paimon/s3/S3Loader.java +++ b/paimon-filesystems/paimon-s3/src/main/java/org/apache/paimon/s3/S3Loader.java @@ -31,6 +31,8 @@ /** A {@link PluginLoader} to load oss. */ public class S3Loader implements FileIOLoader { + private static final long serialVersionUID = 1L; + private static final String S3_CLASSES_DIR = "paimon-plugin-s3"; private static final String S3_CLASS = "org.apache.paimon.s3.S3FileIO"; diff --git a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkFileIOLoader.java b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkFileIOLoader.java index 5b34e9d82921..354b24154252 100644 --- a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkFileIOLoader.java +++ b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkFileIOLoader.java @@ -25,6 +25,8 @@ /** Flink {@link FileIOLoader} for {@link FlinkFileIO}. */ public class FlinkFileIOLoader implements FileIOLoader { + private static final long serialVersionUID = 1L; + @Override public String getScheme() { throw new UnsupportedOperationException(); diff --git a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/CloneActionSlowFileIO.java b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/CloneActionSlowFileIO.java index bc703699bb4a..e7bb8adb4a93 100644 --- a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/CloneActionSlowFileIO.java +++ b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/action/CloneActionSlowFileIO.java @@ -99,6 +99,8 @@ public void write(byte[] b, int off, int len) throws IOException { /** Loader for {@link CloneActionSlowFileIO}. */ public static class Loader implements FileIOLoader { + private static final long serialVersionUID = 1L; + @Override public String getScheme() { return SCHEME;