Skip to content

Commit 3191042

Browse files
authored
Fix the Flaky Test related to ClickHouse in NativeTest under GraalVM Native Image (#34333)
1 parent 211337b commit 3191042

File tree

39 files changed

+653
-444
lines changed

39 files changed

+653
-444
lines changed

docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.cn.md

+2
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,8 @@ Args=--initialize-at-run-time=\
322322
io.grpc.netty.shaded.io.netty.util.AttributeKey
323323
```
324324

325+
ShardingSphere 的单元测试仅使用 Maven 模块 `io.github.linghengqian:hive-server2-jdbc-driver-thin` 来在 GraalVM Native Image 下验证可用性。
326+
325327
8. 由于 https://github.com/oracle/graal/issues/7979 的影响,
326328
对应 `com.oracle.database.jdbc:ojdbc8` Maven 模块的 Oracle JDBC Driver 无法在 GraalVM Native Image 下使用。
327329

docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.en.md

+2
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,8 @@ Args=--initialize-at-run-time=\
336336
io.grpc.netty.shaded.io.netty.util.AttributeKey
337337
```
338338

339+
ShardingSphere's unit test only uses the Maven module `io.github.linghengqian:hive-server2-jdbc-driver-thin` to verify the availability under GraalVM Native Image.
340+
339341
8. Due to https://github.com/oracle/graal/issues/7979 ,
340342
the Oracle JDBC Driver corresponding to the `com.oracle.database.jdbc:ojdbc8` Maven module cannot be used under GraalVM Native Image.
341343

docs/document/content/user-manual/shardingsphere-jdbc/unsupported/p6spy/_index.cn.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public class ExampleUtils {
143143
Statement statement = connection.createStatement()) {
144144
statement.execute("INSERT INTO t_order (user_id, order_type, address_id, status) VALUES (1, 1, 1, 'INSERT_TEST')");
145145
statement.executeQuery("SELECT * FROM t_order");
146-
statement.execute("alter table t_order delete where order_id=1");
146+
statement.execute("DELETE FROM t_order WHERE order_id=1");
147147
}
148148
}
149149
}

docs/document/content/user-manual/shardingsphere-jdbc/unsupported/p6spy/_index.en.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public class ExampleUtils {
145145
Statement statement = connection.createStatement()) {
146146
statement.execute("INSERT INTO t_order (user_id, order_type, address_id, status) VALUES (1, 1, 1, 'INSERT_TEST')");
147147
statement.executeQuery("SELECT * FROM t_order");
148-
statement.execute("alter table t_order delete where order_id=1");
148+
statement.execute("DELETE FROM t_order WHERE order_id=1");
149149
}
150150
}
151151
}

docs/document/content/user-manual/shardingsphere-proxy/optional-plugins/seata-at/_index.cn.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ sdk install java 23-open
4040
sdk use java 23-open
4141
sdk install maven 3.9.9
4242
sdk use maven 3.9.9
43-
mvn clean dependency:get -Dartifact=org.apache.seata:seata-all:2.2.0
43+
mvn dependency:get -Dartifact=org.apache.seata:seata-all:2.2.0
4444
mvn -f ~/.m2/repository/org/apache/seata/seata-all/2.2.0/seata-all-2.2.0.pom dependency:tree | grep -v ':provided' | grep -v ':runtime'
4545
```
4646

docs/document/content/user-manual/shardingsphere-proxy/optional-plugins/seata-at/_index.en.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ sdk install java 23-open
4141
sdk use java 23-open
4242
sdk install maven 3.9.9
4343
sdk use maven 3.9.9
44-
mvn clean dependency:get -Dartifact=org.apache.seata:seata-all:2.2.0
44+
mvn dependency:get -Dartifact=org.apache.seata:seata-all:2.2.0
4545
mvn -f ~/.m2/repository/org/apache/seata/seata-all/2.2.0/seata-all-2.2.0.pom dependency:tree | grep -v ':provided' | grep -v ':runtime'
4646
```
4747

infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json

+31-30
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@
33
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"},
44
"name":"JdkLogger"
55
},
6-
{
7-
"condition":{"typeReachable":"org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine"},
8-
"name":"JdkLogger"
9-
},
106
{
117
"condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.standalone.jdbc.sql.JDBCRepositorySQLLoader"},
128
"name":"[Lcom.fasterxml.jackson.databind.deser.BeanDeserializerModifier;"
@@ -28,7 +24,7 @@
2824
"name":"[Lcom.github.dockerjava.api.model.VolumesFrom;"
2925
},
3026
{
31-
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.connection.DriverDatabaseConnectionManager$$Lambda/0x00007fe4e3e13858"},
27+
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.connection.DriverDatabaseConnectionManager$$Lambda/0x00007f8e2be1b4b0"},
3228
"name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
3329
},
3430
{
@@ -72,15 +68,15 @@
7268
"name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
7369
},
7470
{
75-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.version.MetaDataVersionPersistService"},
71+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.cluster.ClusterContextManagerBuilder"},
7672
"name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
7773
},
7874
{
79-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.cluster.ClusterContextManagerBuilder"},
75+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.manager.SchemaMetaDataManager"},
8076
"name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
8177
},
8278
{
83-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.manager.SchemaMetaDataManager"},
79+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.version.MetaDataVersionPersistService"},
8480
"name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
8581
},
8682
{
@@ -357,27 +353,27 @@
357353
"allDeclaredFields":true
358354
},
359355
{
360-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
356+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
361357
"name":"java.lang.Object",
362358
"allDeclaredFields":true
363359
},
364360
{
365-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.config.global.GlobalRulePersistService"},
361+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
366362
"name":"java.lang.Object",
367363
"allDeclaredFields":true
368364
},
369365
{
370-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.metadata.table.TableMetaDataPersistService"},
366+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.config.global.GlobalRulePersistService"},
371367
"name":"java.lang.Object",
372368
"allDeclaredFields":true
373369
},
374370
{
375-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.metadata.table.TableRowDataPersistService"},
371+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.metadata.table.TableMetaDataPersistService"},
376372
"name":"java.lang.Object",
377373
"allDeclaredFields":true
378374
},
379375
{
380-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
376+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.metadata.table.TableRowDataPersistService"},
381377
"name":"java.lang.Object",
382378
"allDeclaredFields":true
383379
},
@@ -958,12 +954,12 @@
958954
"name":"org.apache.shardingsphere.broadcast.yaml.config.YamlBroadcastRuleConfiguration"
959955
},
960956
{
961-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
957+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
962958
"name":"org.apache.shardingsphere.broadcast.yaml.config.YamlBroadcastRuleConfiguration",
963959
"allDeclaredFields":true
964960
},
965961
{
966-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
962+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
967963
"name":"org.apache.shardingsphere.broadcast.yaml.config.YamlBroadcastRuleConfiguration",
968964
"allDeclaredFields":true
969965
},
@@ -1345,13 +1341,13 @@
13451341
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setProps","parameterTypes":["java.util.Properties"] }, {"name":"setType","parameterTypes":["java.lang.String"] }]
13461342
},
13471343
{
1348-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
1344+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
13491345
"name":"org.apache.shardingsphere.infra.algorithm.core.yaml.YamlAlgorithmConfiguration",
13501346
"allDeclaredFields":true,
13511347
"methods":[{"name":"getProps","parameterTypes":[] }, {"name":"getType","parameterTypes":[] }]
13521348
},
13531349
{
1354-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
1350+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
13551351
"name":"org.apache.shardingsphere.infra.algorithm.core.yaml.YamlAlgorithmConfiguration",
13561352
"allDeclaredFields":true,
13571353
"methods":[{"name":"getProps","parameterTypes":[] }, {"name":"getType","parameterTypes":[] }]
@@ -1693,6 +1689,11 @@
16931689
"condition":{"typeReachable":"org.apache.shardingsphere.proxy.initializer.BootstrapInitializer"},
16941690
"name":"org.apache.shardingsphere.infra.instance.metadata.proxy.ProxyInstanceMetaDataBuilder"
16951691
},
1692+
{
1693+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.global.ComputeNodeOnlineHandler"},
1694+
"name":"org.apache.shardingsphere.infra.instance.yaml.YamlComputeNodeData",
1695+
"methods":[{"name":"<init>","parameterTypes":[] }]
1696+
},
16961697
{
16971698
"condition":{"typeReachable":"org.apache.shardingsphere.mode.persist.service.unified.ComputeNodePersistService"},
16981699
"name":"org.apache.shardingsphere.infra.instance.yaml.YamlComputeNodeData",
@@ -1821,7 +1822,7 @@
18211822
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setCaseSensitive","parameterTypes":["boolean"] }, {"name":"setDataType","parameterTypes":["int"] }, {"name":"setGenerated","parameterTypes":["boolean"] }, {"name":"setName","parameterTypes":["java.lang.String"] }, {"name":"setPrimaryKey","parameterTypes":["boolean"] }, {"name":"setUnsigned","parameterTypes":["boolean"] }, {"name":"setVisible","parameterTypes":["boolean"] }]
18221823
},
18231824
{
1824-
"condition":{"typeReachable":"org.apache.shardingsphere.metadata.factory.ExternalMetaDataFactory"},
1825+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"},
18251826
"name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereColumn",
18261827
"methods":[{"name":"setNullable","parameterTypes":["boolean"] }]
18271828
},
@@ -1851,7 +1852,7 @@
18511852
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setName","parameterTypes":["java.lang.String"] }]
18521853
},
18531854
{
1854-
"condition":{"typeReachable":"org.apache.shardingsphere.metadata.factory.ExternalMetaDataFactory"},
1855+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"},
18551856
"name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereIndex",
18561857
"methods":[{"name":"setColumns","parameterTypes":["java.util.Collection"] }, {"name":"setUnique","parameterTypes":["boolean"] }]
18571858
},
@@ -1881,7 +1882,7 @@
18811882
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setColumns","parameterTypes":["java.util.Map"] }, {"name":"setIndexes","parameterTypes":["java.util.Map"] }, {"name":"setName","parameterTypes":["java.lang.String"] }]
18821883
},
18831884
{
1884-
"condition":{"typeReachable":"org.apache.shardingsphere.metadata.factory.ExternalMetaDataFactory"},
1885+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"},
18851886
"name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereTable",
18861887
"methods":[{"name":"setType","parameterTypes":["org.apache.shardingsphere.infra.database.core.metadata.database.enums.TableType"] }]
18871888
},
@@ -2452,12 +2453,12 @@
24522453
},
24532454
{
24542455
"condition":{"typeReachable":"org.apache.shardingsphere.infra.util.eventbus.EventBusContext"},
2455-
"name":"org.apache.shardingsphere.readwritesplitting.cluster.ReadwriteSplittingQualifiedDataSourceDeletedSubscriber",
2456+
"name":"org.apache.shardingsphere.readwritesplitting.deliver.ReadwriteSplittingQualifiedDataSourceChangedSubscriber",
24562457
"queryAllDeclaredMethods":true
24572458
},
24582459
{
24592460
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.cluster.ClusterContextManagerBuilder"},
2460-
"name":"org.apache.shardingsphere.readwritesplitting.cluster.ReadwriteSplittingQualifiedDataSourceDeletedSubscriber"
2461+
"name":"org.apache.shardingsphere.readwritesplitting.deliver.ReadwriteSplittingQualifiedDataSourceChangedSubscriber"
24612462
},
24622463
{
24632464
"condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.Portal"},
@@ -2994,12 +2995,12 @@
29942995
"name":"org.apache.shardingsphere.sharding.yaml.config.YamlShardingRuleConfiguration"
29952996
},
29962997
{
2997-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
2998+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
29982999
"name":"org.apache.shardingsphere.sharding.yaml.config.YamlShardingRuleConfiguration",
29993000
"allDeclaredFields":true
30003001
},
30013002
{
3002-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
3003+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
30033004
"name":"org.apache.shardingsphere.sharding.yaml.config.YamlShardingRuleConfiguration",
30043005
"allDeclaredFields":true
30053006
},
@@ -3030,13 +3031,13 @@
30303031
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setActualDataNodes","parameterTypes":["java.lang.String"] }, {"name":"setKeyGenerateStrategy","parameterTypes":["org.apache.shardingsphere.sharding.yaml.config.strategy.keygen.YamlKeyGenerateStrategyConfiguration"] }]
30313032
},
30323033
{
3033-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
3034+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
30343035
"name":"org.apache.shardingsphere.sharding.yaml.config.rule.YamlTableRuleConfiguration",
30353036
"allDeclaredFields":true,
30363037
"methods":[{"name":"getActualDataNodes","parameterTypes":[] }, {"name":"getAuditStrategy","parameterTypes":[] }, {"name":"getDatabaseStrategy","parameterTypes":[] }, {"name":"getKeyGenerateStrategy","parameterTypes":[] }, {"name":"getLogicTable","parameterTypes":[] }, {"name":"getTableStrategy","parameterTypes":[] }]
30373038
},
30383039
{
3039-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
3040+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
30403041
"name":"org.apache.shardingsphere.sharding.yaml.config.rule.YamlTableRuleConfiguration",
30413042
"allDeclaredFields":true,
30423043
"methods":[{"name":"getActualDataNodes","parameterTypes":[] }, {"name":"getAuditStrategy","parameterTypes":[] }, {"name":"getDatabaseStrategy","parameterTypes":[] }, {"name":"getKeyGenerateStrategy","parameterTypes":[] }, {"name":"getLogicTable","parameterTypes":[] }, {"name":"getTableStrategy","parameterTypes":[] }]
@@ -3100,13 +3101,13 @@
31003101
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setStandard","parameterTypes":["org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlStandardShardingStrategyConfiguration"] }]
31013102
},
31023103
{
3103-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
3104+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
31043105
"name":"org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlShardingStrategyConfiguration",
31053106
"allDeclaredFields":true,
31063107
"methods":[{"name":"getComplex","parameterTypes":[] }, {"name":"getHint","parameterTypes":[] }, {"name":"getNone","parameterTypes":[] }, {"name":"getStandard","parameterTypes":[] }]
31073108
},
31083109
{
3109-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
3110+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
31103111
"name":"org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlShardingStrategyConfiguration",
31113112
"allDeclaredFields":true,
31123113
"methods":[{"name":"getComplex","parameterTypes":[] }, {"name":"getHint","parameterTypes":[] }, {"name":"getNone","parameterTypes":[] }, {"name":"getStandard","parameterTypes":[] }]
@@ -3222,12 +3223,12 @@
32223223
"name":"org.apache.shardingsphere.single.yaml.config.YamlSingleRuleConfiguration"
32233224
},
32243225
{
3225-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
3226+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
32263227
"name":"org.apache.shardingsphere.single.yaml.config.YamlSingleRuleConfiguration",
32273228
"allDeclaredFields":true
32283229
},
32293230
{
3230-
"condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService"},
3231+
"condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService"},
32313232
"name":"org.apache.shardingsphere.single.yaml.config.YamlSingleRuleConfiguration",
32323233
"allDeclaredFields":true
32333234
},

0 commit comments

Comments
 (0)