Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support building with OpenJDK23 and bump the minimum GraalVM CE version for compiling GraalVM Native Image to JDK23 #32927

Open
2 tasks
linghengqian opened this issue Sep 19, 2024 · 2 comments

Comments

@linghengqian
Copy link
Member

linghengqian commented Sep 19, 2024

Feature Request

For English only, other languages will not be accepted.

Please pay attention on issues you submitted, because we maybe need more details.
If no response anymore and we cannot make decision by current information, we will close it.

Please answer these questions before submitting your issue. Thanks!

Is your feature request related to a problem?

Describe the feature you would like.

  • In fact, shardingsphere cannot be compiled with OpenJDK23 at all. The test is as follows:
sdk install java 23-graalce
git clone git@github.com:apache/shardingsphere.git
cd ./shardingsphere/
sdk use java 23-graalce
./mvnw clean install -Prelease -T1C -DskipTests -Djacoco.skip=true -Dcheckstyle.skip=true -Drat.skip=true -Dmaven.javadoc.skip=true
  • The error thrown is as follows:
Error stack👨‍🦼⛷️😹
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project shardingsphere-infra-exception-core: Compilation failure: Compilation failure: 
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/identifier/SQLExceptionIdentifier.java:[35,9] 对于SQLExceptionIdentifier(java.lang.String,<nulltype>,<nulltype>), 找不到合适的构造器
[ERROR]     构造器 org.apache.shardingsphere.infra.exception.core.external.sql.identifier.SQLExceptionIdentifier.SQLExceptionIdentifier(java.lang.String)不适用
[ERROR]       (实际参数列表和形式参数列表长度不同)
[ERROR]     构造器 org.apache.shardingsphere.infra.exception.core.external.sql.identifier.SQLExceptionIdentifier.SQLExceptionIdentifier(java.lang.String,java.lang.Str)不适用
[ERROR]       (实际参数列表和形式参数列表长度不同)
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/identifier/SQLExceptionIdentifier.java:[39,9] 对于SQLExceptionIdentifier(java.lang.String,java.lang.String,<nulltype>), 找不到合适的构造器
[ERROR]     构造器 org.apache.shardingsphere.infra.exception.core.external.sql.identifier.SQLExceptionIdentifier.SQLExceptionIdentifier(java.lang.String)不适用
[ERROR]       (实际参数列表和形式参数列表长度不同)
[ERROR]     构造器 org.apache.shardingsphere.infra.exception.core.external.sql.identifier.SQLExceptionIdentifier.SQLExceptionIdentifier(java.lang.String,java.lang.Str)不适用
[ERROR]       (实际参数列表和形式参数列表长度不同)
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[28,8] org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState不是抽象的, 并且未覆盖org.apache.shardingsphere.ption.core.external.sql.sqlstate.SQLState中的抽象方法getValue()
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[30,26] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[32,20] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[34,26] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[36,25] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[38,44] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[40,31] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[42,26] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[44,39] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[46,19] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[48,28] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[50,30] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[52,40] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[54,24] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[56,25] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[58,17] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[60,14] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[62,14] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[64,27] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[66,26] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[68,18] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java:[70,22] 无法将枚举 org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState中的构造器 XOpenSQLState应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] -> [Help 1]
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project shardingsphere-test-util: Compilation failure: Compilation failure: 
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/summary/AssertableFileSummary.java:[30,26] 变量 fileName 未在默认构造器中初始化
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/summary/AssertableFileSummary.java:[32,26] 变量 sqlCaseFileAccessURL 未在默认构造器中初始化
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/summary/AssertableFileSummary.java:[34,26] 变量 resultFileAccessURL 未在默认构造器中初始化
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/strategy/impl/GitHubTestParameterLoadStrategy.java:[71,24] 无法将类 org.apache.shardingsphere.test.loader.summary.FileSummary中的构造器 FileSummary应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String,java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/strategy/impl/GitHubTestParameterLoadStrategy.java:[91,28] 无法将类 org.apache.shardingsphere.test.loader.summary.FileSummary中的构造器 FileSummary应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String,java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/strategy/impl/GitHubTestParameterLoadStrategy.java:[118,13] 找不到符号
[ERROR]   符号:   变量 log
[ERROR]   位置: 类 org.apache.shardingsphere.test.loader.strategy.impl.GitHubTestParameterLoadStrategy
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/MySQLExternalTestParameterLoadTemplate.java:[54,32] 无法将类 org.apache.shardingsphere.test.loader.ExternalSQLTestParameter中的构造器 ExternalSQLTestParameter应用到给定类型;
[ERROR]   需要: 没有参数
[ERROR]   找到:    java.lang.String,java.lang.String,java.lang.String,java.lang.String
[ERROR]   原因: 实际参数列表和形式参数列表长度不同
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/TestParameterLoader.java:[87,127] 找不到符号
[ERROR]   符号:   方法 getFileName()
[ERROR]   位置: 类型为org.apache.shardingsphere.test.loader.summary.FileSummary的变量 fileSummary
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/TestParameterLoader.java:[88,99] 找不到符号
[ERROR]   符号:   方法 getFileName()
[ERROR]   位置: 类型为org.apache.shardingsphere.test.loader.summary.FileSummary的变量 each
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/TestParameterLoader.java:[89,74] 找不到符号
[ERROR]   符号:   方法 getAccessURI()
[ERROR]   位置: 类型为org.apache.shardingsphere.test.loader.summary.FileSummary的变量 each
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/TestParameterLoader.java:[90,65] 找不到符号
[ERROR]   符号:   方法 getFileName()
[ERROR]   位置: 类型为org.apache.shardingsphere.test.loader.summary.FileSummary的变量 each
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/TestParameterLoader.java:[92,109] 找不到符号
[ERROR]   符号:   方法 getAccessURI()
[ERROR]   位置: 类型为org.apache.shardingsphere.test.loader.summary.FileSummary的变量 summary
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/TestParameterLoader.java:[92,134] 不兼容的类型: java.lang.Object无法转换为java.util.List<java.lang.String>
[ERROR] /home/linghengqian/TwinklingLiftWorks/git/public/shardingsphere/test/util/src/main/java/org/apache/shardingsphere/test/loader/TestParameterLoader.java:[108,13] 找不到符号
[ERROR]   符号:   变量 log
[ERROR]   位置: 类 org.apache.shardingsphere.test.loader.TestParameterLoader
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :shardingsphere-infra-exception-core
  • On the other hand, in order to completely remove the need to pass in an additional build parameter --report-unsupported-elements-at-runtime when compiling GraalVM Native Image, we also need to bump the minimum GraalVM CE version for compiling the GraalVM Native Image to GraalVM CE For JDK23. This is a request from the Quarkus community and OracleLabs review side for GRM.

  • Two-step discussion,

  • Support building with OpenJDK23.

  • Bump the minimum GraalVM CE version for compiling GraalVM Native Image to JDK23.

  • image

@linghengqian
Copy link
Member Author

  • Let me research this issue.

@linghengqian
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant