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