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)

Reply via email to