You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Hangxiang Yu (Jira)" <ji...@apache.org> on 2023/03/08 08:01:00 UTC

[jira] [Created] (FLINK-31366) Exception is thrown when s3a and s3p are used together

Hangxiang Yu created FLINK-31366:
------------------------------------

             Summary: Exception is thrown when s3a and s3p are used together
                 Key: FLINK-31366
                 URL: https://issues.apache.org/jira/browse/FLINK-31366
             Project: Flink
          Issue Type: Bug
          Components: FileSystems
            Reporter: Hangxiang Yu
            Assignee: Hangxiang Yu


h3. Exception

When s3a and s3p plugins exist at the same time, an exception will be thrown as below:
{code:java}
Caused by:java.lang.NoSuchMethodError: org.apache.flink.fs.s3.common.AbstractS3FileSystemFactory.<init> (Ljava/lang/String;Lorg/apache/flink/fs/s3presto/common/HadoopConfigLoader;)
{code}
h3. Why

In the construction method of AbstractS3FileSystemFactory, s3a shades HadoopConfigLoader into org.apache.flink.fs.s3hadoop.common.HadoopConfigLoader, and s3p shades HadoopConfigLoader into org. apache.flink.fs.s3presto.common.HadoopConfigLoader when package.

(see shade-plugin)

 

But the AbstractS3FileSystemFactory class will only be loaded once when loading even if there are two plugins.

So it may first uses s3a plugin to load AbstractS3FileSystemFactory, and the construction method is loaded into AbstractS3FileSystemFactory(String name, org.apache. flink.fs.s3hadoop.common.HadoopConfigLoader hadoopConfigLoader), at this time s3p will be abnormal when it is constructed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)