duzhanfei commented on issue #8314:
URL: https://github.com/apache/shardingsphere/issues/8314#issuecomment-732957857
I only test the data sharding ,the result is the same
the config of config-sharding.yaml is show below:
schemaName: sharding_db
dataSourceCommon:
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 50
minPoolSize: 1
maintenanceIntervalMilliseconds: 30000
dataSources:
ms_ds:
url:
jdbc:mysql://19.11.17.33:3306/crm_customer_db_master0?serverTimezone=UTC&useSSL=false
username: root
password: root
rules:
- !SHARDING
tables:
bcpur_pscst_deptp_stats:
actualDataNodes: ms_ds.bcpur_pscst_deptp_stats_${0..15}
tableStrategy:
standard:
shardingColumn: ecif_cust_no
shardingAlgorithmName: bcpur_pscst_deptp_stats_inline
keyGenerateStrategy:
column: ecif_cust_no
keyGeneratorName: snowflake
defaultDatabaseStrategy:
standard:
shardingColumn: ecif_cust_no
shardingAlgorithmName: database_default_inline
defaultTableStrategy:
none:
shardingAlgorithms:
database_default_inline:
type: INLINE
props:
algorithm-expression: ms_ds
database_inline:
type: INLINE
props:
algorithm-expression: ms_ds
bcpur_pscst_deptp_stats_inline:
type: INLINE
props:
algorithm-expression:
bcpur_pscst_deptp_stats_${Math.abs(ecif_cust_no.hashCode() % 16)}
keyGenerators:
snowflake:
type: SNOWFLAKE
props:
worker-id: 123
request infomation:
<img width="729" alt="00000000"
src="https://user-images.githubusercontent.com/46663706/100097610-b82f9e80-2e97-11eb-9bf4-2cd00dcb3216.png">
log:
[INFO ] 20:48:16.658 [ShardingSphere-Command-3] ShardingSphere-SQL - Logic
SQL: SELECT @@session.transaction_read_only
[INFO ] 20:48:16.658 [ShardingSphere-Command-3] ShardingSphere-SQL -
SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty)
[INFO ] 20:48:16.661 [ShardingSphere-Command-3] ShardingSphere-SQL - Actual
SQL: ms_ds ::: SELECT @@session.transaction_read_only
[INFO ] 20:48:16.681 [ShardingSphere-Command-4] ShardingSphere-SQL - Logic
SQL: SELECT @@session.transaction_isolation
[INFO ] 20:48:16.685 [ShardingSphere-Command-4] ShardingSphere-SQL -
SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty)
[INFO ] 20:48:16.685 [ShardingSphere-Command-4] ShardingSphere-SQL - Actual
SQL: ms_ds ::: SELECT @@session.transaction_isolation
[ERROR] 20:48:17.175 [ShardingSphere-Command-5]
o.a.s.p.f.c.CommandExecutorTask - Exception occur:
java.lang.NullPointerException: Cannot invoke method hashCode() on null
object
at
org.codehaus.groovy.runtime.NullObject.hashCode(NullObject.java:174)
at org.codehaus.groovy.runtime.NullObject$hashCode.call(Unknown
Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at
org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:34)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
at Script24$_run_closure1.doCall(Script24.groovy:1)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
at groovy.lang.Closure.call(Closure.java:420)
at groovy.lang.Closure.call(Closure.java:414)
at
org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm.doSharding(InlineShardingAlgorithm.java:69)
at
org.apache.shardingsphere.sharding.route.strategy.type.standard.StandardShardingStrategy.doSharding(StandardShardingStrategy.java:67)
at
org.apache.shardingsphere.sharding.route.strategy.type.standard.StandardShardingStrategy.doSharding(StandardShardingStrategy.java:56)
at
org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.routeTables(ShardingStandardRoutingEngine.java:214)
at
org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.route0(ShardingStandardRoutingEngine.java:194)
at
org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.routeByShardingConditionsWithCondition(ShardingStandardRoutingEngine.java:114)
at
org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.routeByShardingConditions(ShardingStandardRoutingEngine.java:107)
at
org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.getDataNodes(ShardingStandardRoutingEngine.java:84)
at
org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.route(ShardingStandardRoutingEngine.java:69)
at
org.apache.shardingsphere.sharding.route.engine.ShardingSQLRouter.createRouteContext(ShardingSQLRouter.java:70)
at
org.apache.shardingsphere.sharding.route.engine.ShardingSQLRouter.createRouteContext(ShardingSQLRouter.java:55)
at
org.apache.shardingsphere.infra.route.engine.impl.PartialSQLRouteExecutor.route(PartialSQLRouteExecutor.java:59)
at
org.apache.shardingsphere.infra.route.engine.SQLRouteEngine.route(SQLRouteEngine.java:57)
at
org.apache.shardingsphere.infra.context.kernel.KernelProcessor.generateExecutionContext(KernelProcessor.java:52)
at
org.apache.shardingsphere.proxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.execute(JDBCDatabaseCommunicationEngine.java:77)
at
org.apache.shardingsphere.proxy.backend.text.query.QueryBackendHandler.execute(QueryBackendHandler.java:61)
at
org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor.execute(MySQLComQueryPacketExecutor.java:62)
at
org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:100)
at
org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:76)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]