Skip to content

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

Open
1 of 5 issues completed
@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.3.0
    • Databases except h2database
      • mysql:9.1.0-oraclelinux9
      • postgres:17.2-bookworm
      • opengauss/opengauss-server:7.0.0-RC1
      • mcr.microsoft.com/mssql/server:2022-CU16-ubuntu-22.04
      • gvenzl/oracle-free or gvenzl/oracle-xe
      • apache/doris? Where is the docker image of runtime?
      • prestodb/presto:0.292
      • firebirdsql/firebird:5.0.1
      • apache/hive:4.0.1
      • clickhouse/clickhouse-server:25.4.5.24
    • 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 CE 23.0.2 For JDK 17.0.9 to GraalVM CE 24.0.2 For JDK 22.0.2.

Sub-issues

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions