Skip to content

Improve GraalVM Reachability Metadata and corresponding nativeTest related unit tests #29052

@linghengqian

Description

@linghengqian

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 the current master branch, for the sharding, readwrite-splitting, mask, shadow and encrypt features in standalone mode and H2Database, there are already corresponding GraalVM Reachability Metadata and corresponding nativeTest-related unit tests located under GraalVM Native Image.

  • The previous PR did not cover further situations. We need to add additional unit tests and corresponding GraalVM Reachability Metadata for the following functions. Some unit tests will require the GraalVM Reachability Metadata of testcontainers.

    • Modes except Local
      • apache/zookeeper
      • gcr.io/etcd-development/etcd:v3.5.10
    • Distributed Transactions
      • atomikos/transactions-essentials
      • jbosstm/narayana
      • apache/seata-server:2.6.0
    • Databases
      • h2database/h2database
      • mysql:9.5.0-oraclelinux9
      • postgres:18.1-trixie
      • opengauss/opengauss-server:7.0.0-RC1
      • mcr.microsoft.com/mssql/server:2025-RTM-ubuntu-22.04
      • gvenzl/oracle-free or gvenzl/oracle-xe
      • dyrnq/doris:4.0.0
      • prestodb/presto:0.296
      • firebirdsql/firebird:5.0.3
      • apache/hive:4.0.1
      • clickhouse/clickhouse-server:25.12.1.649
    • Other features
      • DistSQL
      • Logging - qos-ch/logback
  • In the current master branch, ShardingSphere temporarily hosts the GraalVM Reachability Metadata of some third-party libraries. These irrelevant json entries should be submitted to https://github.com/oracle/graalvm-reachability-metadata and then deleted from the ShardingSphere side. This sub-work is initially planned to be completed before the release of GraalVM CE for JDK 29.

  • The current issue involves several user-side experience issues.

    • Remove the requirement for --report-unsupported-elements-at-runtime of buildArgs in GraalVM Native Build Tools. This requires further breaking ShardingSphere's compatibility with previous versions under GraalVM Native Image.
    • Increased GraalVM CE version for handling NativeTest and building ShardingSphere Proxy Native from GraalVM for JDK 17.0.9 to GraalVM Community Edition 25.0.2.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions