You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2022/07/13 01:40:31 UTC

[GitHub] [shardingsphere] tuichenchuxin opened a new issue, #19078: Get error in scaling when create table sql has ";"

tuichenchuxin opened a new issue, #19078:
URL: https://github.com/apache/shardingsphere/issues/19078

   ## Bug Report
   
   ### Which version of ShardingSphere did you use?
   master - f67b1f5e162fae73be5e5446902f5ee2c235e0c9
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   proxy
   ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.
   sharding-config.yaml
   ```
   schemaName: ifly_cp_msp_app
   
   dataSources:
     ds_0:
       url: jdbc:mysql://127.0.0.1:3308/ifly_cp_msp_app?serverTimezone=UTC&useSSL=false
       username: root
       password: root
       connectionTimeoutMilliseconds: 30000
       idleTimeoutMilliseconds: 60000
       maxLifetimeMilliseconds: 1800000
       maxPoolSize: 300
       minPoolSize: 50
   
   rules:
   - !SHARDING
     tables:
       app_mst:
         actualDataNodes: ds_0.app_mst
         tableStrategy:
           standard:
             shardingColumn: app_id
             shardingAlgorithmName: app_mst_app_id_inline
         keyGenerateStrategy:
           column: uid
           keyGeneratorName: snowflake
     bindingTables:
       - app_mst
     defaultDatabaseStrategy:
       standard:
         shardingColumn: app_id
         shardingAlgorithmName: database_inline
     defaultTableStrategy:
       none:
     
     shardingAlgorithms:
       database_inline:
         type: INLINE
         props:
           algorithm-expression: ds_0
       app_mst_app_id_inline:
         type: INLINE
         props:
           algorithm-expression: app_mst
     
     keyGenerators:
       snowflake:
         type: SNOWFLAKE
   
     scalingName: default_scaling
     scaling:
       default_scaling:
         input:
           workerThread: 40
           batchSize: 1000
         output:
           workerThread: 40
           batchSize: 1000
         streamChannel:
           type: MEMORY
           props:
             block-queue-size: 10000
         completionDetector:
           type: IDLE
           props:
             incremental-task-idle-minute-threshold: 30
         dataConsistencyChecker:
           type: DATA_MATCH
           props:
             chunk-size: 1000
   
   ```
   ```
   CREATE TABLE `app_mst` (
     `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
     `registration_time` timestamp NOT NULL DEFAULT '2022-01-01 00:00:00' COMMENT '注册时间',
     `app_id` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '应用APPID',
     `app_name` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '应用名称',
     `uid` bigint(20) unsigned NOT NULL COMMENT '申请用户ID',
     `platform` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '所属平台',
     `register_from` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '4CEE121E' COMMENT '注册来源',
     `is_grant` int(1) NOT NULL DEFAULT '0' COMMENT '是否授权 0:未授权 1:已授权 2:拒绝授权',
     `is_forbid` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否禁止使用(0:非;1:禁止)',
     PRIMARY KEY (`app_id`),
     KEY `idx_app_name` (`app_name`),
     KEY `idx_registration_time` (`registration_time`),
     KEY `idx_uid` (`uid`),
     KEY `idx_update_time` (`update_time`)
   ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
   ```
   Steps:
   ```
   CREATE SHARDING SCALING RULE scaling_manual (
   INPUT(
     WORKER_THREAD=40,
     BATCH_SIZE=1000
   ),
   OUTPUT(
     WORKER_THREAD=40,
     BATCH_SIZE=1000
   ),
   STREAM_CHANNEL(TYPE(NAME=MEMORY, PROPERTIES("block-queue-size"=10000))),
   DATA_CONSISTENCY_CHECKER(TYPE(NAME=DATA_MATCH, PROPERTIES("chunk-size"=1000)))
   );
   
   ENABLE SHARDING SCALING RULE scaling_manual; 
   
   ADD RESOURCE ds_2 (
       URL="jdbc:mysql://127.0.0.1:3306/scaling_ds_2?serverTimezone=UTC&useSSL=false",
       USER=root,
       PASSWORD=123456,
       PROPERTIES("maximumPoolSize"=10,"idleTimeout"="300000")
   ), ds_3 (
       URL="jdbc:mysql://127.0.0.1:3306/scaling_ds_3?serverTimezone=UTC&useSSL=false",
       USER=root,
       PASSWORD=123456,
       PROPERTIES("maximumPoolSize"=10,"idleTimeout"="300000")
   ), ds_4 (
       URL="jdbc:mysql://127.0.0.1:3306/scaling_ds_4?serverTimezone=UTC&useSSL=false",
       USER=root,
       PASSWORD=123456,
       PROPERTIES("maximumPoolSize"=10,"idleTimeout"="300000")
   );
   
   CREATE SHARDING ALGORITHM database_new_inline (
   TYPE(NAME=inline,PROPERTIES("algorithm-expression"="ds_${uid % 3 + 2}")) 
   );
   
   
   
   ALTER SHARDING TABLE RULE app_mst (
   DATANODES("ds_${2..4}.app_mst"),
   DATABASE_STRATEGY(TYPE=standard,SHARDING_COLUMN=uid,SHARDING_ALGORITHM=database_new_inline),
   TABLE_STRATEGY(TYPE=standard,SHARDING_COLUMN=app_id,SHARDING_ALGORITHM=app_mst_app_id_inline),
   KEY_GENERATE_STRATEGY(COLUMN=uid,TYPE(NAME=snowflake))
   );
   ```
   #### errors
   ```
   [INFO ] 2022-07-11 16:11:20.723 [Thread-2] o.a.s.d.p.c.m.g.PipelineDDLGenerator - generateLogicDDLSQL, databaseType=MySQL, databaseName=ifly_cp_msp_app, schemaName=ifly_cp_msp_app, tableName=app_mst, dataSourceNames=[ds_0]
   [INFO ] 2022-07-11 16:11:20.803 [epollEventLoopGroup-2-1] i.n.handler.logging.LoggingHandler - [id: 0xe4e82b9a, L:/0:0:0:0:0:0:0:0%0:9990] READ: [id: 0x9878b306, L:/127.0.0.1:9990 - R:/127.0.0.1:34616]
   [INFO ] 2022-07-11 16:11:20.805 [epollEventLoopGroup-2-1] i.n.handler.logging.LoggingHandler - [id: 0xe4e82b9a, L:/0:0:0:0:0:0:0:0%0:9990] READ COMPLETE
   [ERROR] 2022-07-11 16:11:21.585 [Thread-2] o.a.s.d.p.s.r.RuleAlteredJobScheduler - job prepare failed, 0130317c30317c3054317c69666c795f63705f6d73705f617070-0
   org.apache.shardingsphere.sql.parser.exception.SQLParsingException: You have an error in your SQL syntax
   	at org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor.twoPhaseParse(SQLParserExecutor.java:65)
   	at org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor.parse(SQLParserExecutor.java:46)
   	at org.apache.shardingsphere.sql.parser.api.SQLParserEngine.parse(SQLParserEngine.java:47)
   	at org.apache.shardingsphere.infra.parser.sql.SQLStatementParserExecutor.parse(SQLStatementParserExecutor.java:48)
   	at org.apache.shardingsphere.infra.parser.sql.SQLStatementParserEngine.parse(SQLStatementParserEngine.java:47)
   	at org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine.parse(ShardingSphereSQLParserEngine.java:58)
   	at org.apache.shardingsphere.data.pipeline.core.metadata.generator.PipelineDDLGenerator.getLogicSQL(PipelineDDLGenerator.java:219)
   	at org.apache.shardingsphere.data.pipeline.core.metadata.generator.PipelineDDLGenerator.decorateActualSQL(PipelineDDLGenerator.java:144)
   	at org.apache.shardingsphere.data.pipeline.core.metadata.generator.PipelineDDLGenerator.decorate(PipelineDDLGenerator.java:124)
   	at org.apache.shardingsphere.data.pipeline.core.metadata.generator.PipelineDDLGenerator.generateLogicDDLSQL(PipelineDDLGenerator.java:90)
   	at org.apache.shardingsphere.data.pipeline.mysql.prepare.datasource.MySQLDataSourcePreparer.getCreateTableSQL(MySQLDataSourcePreparer.java:59)
   	at org.apache.shardingsphere.data.pipeline.mysql.prepare.datasource.MySQLDataSourcePreparer.prepareTargetTables(MySQLDataSourcePreparer.java:45)
   	at org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.prepareTarget(RuleAlteredJobPreparer.java:147)
   	at org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.prepareAndCheckTarget(RuleAlteredJobPreparer.java:128)
   	at org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.prepareAndCheckTargetWithLock(RuleAlteredJobPreparer.java:108)
   	at org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.prepare(RuleAlteredJobPreparer.java:82)
   	at org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobScheduler.run(RuleAlteredJobScheduler.java:74)
   	at java.lang.Thread.run(Thread.java:748)
   [INFO ] 2022-07-11 16:11:21.585 [Thread-2] com.zaxxer.hikari.HikariDataSource - HikariPool-2 - Shutdown initiated...
   [INFO ] 2022-07-11 16:11:21.594 [Thread-2] com.zaxxer.hikari.HikariDataSource - HikariPool-2 - Shutdown completed.
   ```
   


-- 
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.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] strongduanmu closed issue #19078: Get error in scaling when create table sql has ";"

Posted by GitBox <gi...@apache.org>.
strongduanmu closed issue #19078: Get error in scaling when create table sql has ";"
URL: https://github.com/apache/shardingsphere/issues/19078


-- 
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.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org