[ 
https://issues.apache.org/jira/browse/FLINK-23888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17412081#comment-17412081
 ] 

Chesnay Schepler commented on FLINK-23888:
------------------------------------------

I just don't believe that the relocation is the issue. It shouldn't be relevant 
to the matter; it can't be loaded by the parent because it's not in lib/, and 
if it is in lib/ then that is the actual issue.

It doesn't make sense yet.
For example, if you remove the relocation, why wouldn't it still fail for the 
actual Flink classes loaded from the plugin? What makes these relocated classes 
so special?


> Flink azure fs doesn't work
> ---------------------------
>
>                 Key: FLINK-23888
>                 URL: https://issues.apache.org/jira/browse/FLINK-23888
>             Project: Flink
>          Issue Type: Bug
>          Components: FileSystems
>    Affects Versions: 1.13.1, 1.13.2
>            Reporter: Liviu Firu
>            Priority: Major
>         Attachments: pom.xml
>
>
> A working pipeline on AWS S3 doesn't work with BlobStorage.
> Flink deployed in kubernetes with HA . The following is the configuration :
> high-availability: 
> org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory
> high-availability.storageDir: wasbs://***
> state.backend: rocksdb
> state.checkpoints.dir: wasb://***
> I always got LinkageError.
> I believe the issue is that azure / hadoop classes are shaded  with 
> "org.apache.flink" pattern and always get loaded via parent not via plugin 
> class loader.
> Snapshot of the log :
> 2021-08-18 11:56:03,557 INFO  org.apache.flink.fs.azurefs.AzureFSFactory      
>              [] - Trying to load and instantiate Azure File System
> 2021-08-18 11:56:03,747 INFO  
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint        [] - Shutting 
> StandaloneApplicationClusterEntryPoint down with application status FAILED. 
> Diagnostics java.lang.LinkageError: loader 
> org.apache.flink.core.plugin.PluginLoader$PluginClassLoader @61bcbcce 
> attempted duplicate class definition for 
> org.apache.flink.fs.shaded.hadoop3.org.apache.hadoop.fs.LocalFileSystem. 
> (org.apache.flink.fs.shaded.hadoop3.org.apache.hadoop.fs.LocalFileSystem is 
> in unnamed module of loader 
> org.apache.flink.core.plugin.PluginLoader$PluginClassLoader @61bcbcce, parent 
> loader 'platform')
>         at java.base/java.lang.ClassLoader.defineClass1(Native Method)
>         at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
>         at java.base/java.security.SecureClassLoader.defineClass(Unknown 
> Source)
>         at java.base/java.net.URLClassLoader.defineClass(Unknown Source)
>         at java.base/java.net.URLClassLoader$1.run(Unknown Source)
>         at java.base/java.net.URLClassLoader$1.run(Unknown Source)
>         at java.base/java.security.AccessController.doPrivileged(Native 
> Method)
>         at java.base/java.net.URLClassLoader.findClass(Unknown Source)
>         at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
>         at 
> org.apache.flink.core.plugin.PluginLoader$PluginClassLoader.loadClass(PluginLoader.java:171)
>         at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
>         at 
> org.apache.flink.fs.azure.common.HadoopConfigLoader.loadHadoopConfigFromFlink(HadoopConfigLoader.java:96)
>         at 
> org.apache.flink.fs.azure.common.HadoopConfigLoader.getOrLoadHadoopConfig(HadoopConfigLoader.java:82)
>         at 
> org.apache.flink.fs.azurefs.AbstractAzureFSFactory.createInitializedAzureFS(AbstractAzureFSFactory.java:85)
>         at 
> org.apache.flink.fs.azurefs.AbstractAzureFSFactory.create(AbstractAzureFSFactory.java:79)
>         at 
> org.apache.flink.core.fs.PluginFileSystemFactory.create(PluginFileSystemFactory.java:62)
>         at 
> org.apache.flink.core.fs.FileSystem.getUnguardedFileSystem(FileSystem.java:506)
>         at org.apache.flink.core.fs.FileSystem.get(FileSystem.java:407)
>         at org.apache.flink.core.fs.Path.getFileSystem(Path.java:274)
>         at 
> org.apache.flink.runtime.blob.BlobUtils.createFileSystemBlobStore(BlobUtils.java:89)
>         at 
> org.apache.flink.runtime.blob.BlobUtils.createBlobStoreFromConfig(BlobUtils.java:76)
>         at 
> org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory.createHAServices(KubernetesHaServicesFactory.java:40)
>         at 
> org.apache.flink.runtime.highavailability.HighAvailabilityServicesUtils.createCustomHAServices(HighAvailabilityServicesUtils.java:265)
>         at 
> org.apache.flink.runtime.highavailability.HighAvailabilityServicesUtils.createHighAvailabilityServices(HighAvailabilityServicesUtils.java:124)
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.createHaServices(ClusterEntrypoint.java:353)
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.initializeServices(ClusterEntrypoint.java:311)
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runCluster(ClusterEntrypoint.java:239)
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.lambda$startCluster$1(ClusterEntrypoint.java:189)
>         at 
> org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:28)
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:186)
>         at 
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runClusterEntrypoint(ClusterEntrypoint.java:600)
>         at 
> org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint.main(StandaloneApplicationClusterEntryPoint.java:85)
>  
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to