Support building Proxy Native via GraalVM CE for JDK 25#38682
Open
linghengqian wants to merge 1 commit into
Open
Support building Proxy Native via GraalVM CE for JDK 25#38682linghengqian wants to merge 1 commit into
linghengqian wants to merge 1 commit into
Conversation
c7606e0 to
540a6f5
Compare
3170011 to
e249320
Compare
4aa7c04 to
5874874
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For #29052 .
Changes proposed in this pull request:
Unsafeon JDK 25; consequently, ShardingSphere Proxy has slowed down, exposing issues that had previously gone unnoticed.org.apache.shardingsphere.test.natived.commons.util.ProxyTestingServerto use fix from Reset proxy backend executor across repeated ShardingSphereProxy lifecycles #38664 . Also fixes Completely prevent GraalVM Tracing Agent from collecting unreasonable GRM for unit tests related toorg.apache.shardingsphere.test.natived.proxy.features.**#33206 .test/native/native-image-filter/extra-filter.jsonfrom grabbing the GraalVM Reachability Metadata ofjava.lang.**. Compared with GraalVM CE For JDK 24.0.2, GraalVM CE For JDK 25.0.2 has constraints on more JDK own classes. If our grab part of the GRM ofjava.lang.**, the native image will fail to build.org.apache.commons:commons-compressdependency conflict withorg.apache.shardingsphere:shardingsphere-test-native. This is related to [repo] Dependencies version update ClickHouse/clickhouse-java#2696 .org.apache.shardingsphere.test.natived.jdbc.modes.cluster.ZookeeperTestwould still make requests to the ZooKeeper server via the ContextManager after the ZooKeeper server was shut down. This was actually an effect of a recent change introduced in the ShardingSphere master branch, which now attempts to access the ZooKeeper server when the ContextManager is shut down."-DjvmArgs=-XX:MaxRAMPercentage=85.0"from the CI.org.apache.shardingsphere.test.natived.proxy.databases.**passed the absolute file system path toorg.apache.shardingsphere.proxy.backend.config.ProxyConfigurationLoader.org.apache.shardingsphere.proxy.backend.config.ProxyConfigurationLoaderfirst resolved the path using the classpath, causing the GraalVM native image to encounter abnormal paths during resource matching. Now,org.apache.shardingsphere.proxy.backend.config.ProxyConfigurationLoaderfirst checks the file system path and then falls back to the classpath, avoiding passing absolute path errors tojava.lang.Class#getResource(java.lang.String). This is the root cause change that fixed the CompressedGlobTrie in the GraalVM native image.Before committing this PR, I'm sure that I have checked the following options:
./mvnw clean install -B -T1C -Dmaven.javadoc.skip -Dmaven.jacoco.skip -e.