apache / shardingsphere

Empowering Data Intelligence with Distributed SQL for Sharding, Scalability, and Security Across All Databases.
Apache License 2.0
19.99k stars 6.75k forks source link

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

Open linghengqian opened 2 months ago

linghengqian commented 2 months ago

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.

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
Error stack👨‍🦼⛷️😹 ```shell [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,,), 找不到合适的构造器 [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,), 找不到合适的构造器 [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 [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 -rf :shardingsphere-infra-exception-core ```
linghengqian commented 2 months ago
linghengqian commented 2 months ago
linghengqian commented 1 month ago
linghengqian commented 1 month ago
linghengqian commented 1 week ago

Research https://github.com/spring-projects/spring-framework/issues/33847 to understand how the Spring Team worked around some serious bug in the GraalVM Tracing Agent on GraalVM CE For JDK23.😐

linghengqian commented 2 days ago