You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Sergey Nuyanzin (Jira)" <ji...@apache.org> on 2025/10/12 17:42:00 UTC

[jira] [Updated] (FLINK-38503) ServiceLoader#hasNext fails with ClassNotFoundException

     [ https://issues.apache.org/jira/browse/FLINK-38503?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Nuyanzin updated FLINK-38503:
------------------------------------
    Description: 
with jdk 25 it starts failing (e.g. {{bin/sql-client.sh}}) like 
{noformat}
Exception in thread "main" org.apache.flink.table.client.SqlClientException: Unexpected exception. This is a bug. Please consider filing an issue.
	at org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:232)
	at org.apache.flink.table.client.SqlClient.main(SqlClient.java:169)
Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
	at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:2985)
	at java.base/java.lang.Class.getConstructor0(Class.java:3180)
	at java.base/java.lang.Class.getConstructor(Class.java:2199)
	at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:623)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1111)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1142)
	at java.base/java.util.ServiceLoader$1.hasNext(ServiceLoader.java:1164)
	at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1246)
	at org.apache.flink.client.deployment.DefaultClusterClientServiceLoader.getApplicationModeTargetNames(DefaultClusterClientServiceLoader.java:101)
	at org.apache.flink.client.cli.GenericCLI.getApplicationModeTargetNames(GenericCLI.java:143)
	at org.apache.flink.client.cli.GenericCLI.getTargetNames(GenericCLI.java:137)
	at org.apache.flink.client.cli.GenericCLI.<init>(GenericCLI.java:62)
	at org.apache.flink.client.cli.CliFrontend.loadCustomCommandLines(CliFrontend.java:1413)
	at org.apache.flink.table.gateway.service.context.DefaultContext.load(DefaultContext.java:151)
	at org.apache.flink.table.client.gateway.DefaultContextUtils.buildDefaultContext(DefaultContextUtils.java:58)
	at org.apache.flink.table.client.SqlClient.start(SqlClient.java:102)
	at org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:218)
	... 1 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
	... 19 more

{noformat}

it also works ok with jdk 22 and 23 and started to fail with jdk24, 25

In previous java it failed with next method and {{ServiceConfigurationError}} were caught, now it starts failing earlier...

  was:
with jdk 25 it starts failing (e.g. {{bin/sql-client.sh}}) like 
{noformat}
Exception in thread "main" org.apache.flink.table.client.SqlClientException: Unexpected exception. This is a bug. Please consider filing an issue.
	at org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:232)
	at org.apache.flink.table.client.SqlClient.main(SqlClient.java:169)
Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
	at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:2985)
	at java.base/java.lang.Class.getConstructor0(Class.java:3180)
	at java.base/java.lang.Class.getConstructor(Class.java:2199)
	at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:623)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1111)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1142)
	at java.base/java.util.ServiceLoader$1.hasNext(ServiceLoader.java:1164)
	at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1246)
	at org.apache.flink.client.deployment.DefaultClusterClientServiceLoader.getApplicationModeTargetNames(DefaultClusterClientServiceLoader.java:101)
	at org.apache.flink.client.cli.GenericCLI.getApplicationModeTargetNames(GenericCLI.java:143)
	at org.apache.flink.client.cli.GenericCLI.getTargetNames(GenericCLI.java:137)
	at org.apache.flink.client.cli.GenericCLI.<init>(GenericCLI.java:62)
	at org.apache.flink.client.cli.CliFrontend.loadCustomCommandLines(CliFrontend.java:1413)
	at org.apache.flink.table.gateway.service.context.DefaultContext.load(DefaultContext.java:151)
	at org.apache.flink.table.client.gateway.DefaultContextUtils.buildDefaultContext(DefaultContextUtils.java:58)
	at org.apache.flink.table.client.SqlClient.start(SqlClient.java:102)
	at org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:218)
	... 1 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
	... 19 more

{noformat}

In previous java it failed with next method and {{ServiceConfigurationError}} were caught, now it starts failing earlier...


> ServiceLoader#hasNext fails with ClassNotFoundException
> -------------------------------------------------------
>
>                 Key: FLINK-38503
>                 URL: https://issues.apache.org/jira/browse/FLINK-38503
>             Project: Flink
>          Issue Type: Sub-task
>            Reporter: Sergey Nuyanzin
>            Priority: Major
>
> with jdk 25 it starts failing (e.g. {{bin/sql-client.sh}}) like 
> {noformat}
> Exception in thread "main" org.apache.flink.table.client.SqlClientException: Unexpected exception. This is a bug. Please consider filing an issue.
> 	at org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:232)
> 	at org.apache.flink.table.client.SqlClient.main(SqlClient.java:169)
> Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
> 	at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
> 	at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:2985)
> 	at java.base/java.lang.Class.getConstructor0(Class.java:3180)
> 	at java.base/java.lang.Class.getConstructor(Class.java:2199)
> 	at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:623)
> 	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1111)
> 	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1142)
> 	at java.base/java.util.ServiceLoader$1.hasNext(ServiceLoader.java:1164)
> 	at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1246)
> 	at org.apache.flink.client.deployment.DefaultClusterClientServiceLoader.getApplicationModeTargetNames(DefaultClusterClientServiceLoader.java:101)
> 	at org.apache.flink.client.cli.GenericCLI.getApplicationModeTargetNames(GenericCLI.java:143)
> 	at org.apache.flink.client.cli.GenericCLI.getTargetNames(GenericCLI.java:137)
> 	at org.apache.flink.client.cli.GenericCLI.<init>(GenericCLI.java:62)
> 	at org.apache.flink.client.cli.CliFrontend.loadCustomCommandLines(CliFrontend.java:1413)
> 	at org.apache.flink.table.gateway.service.context.DefaultContext.load(DefaultContext.java:151)
> 	at org.apache.flink.table.client.gateway.DefaultContextUtils.buildDefaultContext(DefaultContextUtils.java:58)
> 	at org.apache.flink.table.client.SqlClient.start(SqlClient.java:102)
> 	at org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:218)
> 	... 1 more
> Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
> 	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
> 	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
> 	... 19 more
> {noformat}
> it also works ok with jdk 22 and 23 and started to fail with jdk24, 25
> In previous java it failed with next method and {{ServiceConfigurationError}} were caught, now it starts failing earlier...



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