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/05/11 06:39:06 UTC

[GitHub] [shardingsphere] TeslaCN commented on issue #17487: Invalid binding table configuration in ShardingRuleConfiguration when alter SHARDING TABLE RULE

TeslaCN commented on issue #17487:
URL: https://github.com/apache/shardingsphere/issues/17487#issuecomment-1123244134

   +1
   
   Drop binding table rule didn't worked in cluster mode.
   
   ```
   bmsql_sharding=> drop sharding binding table rules (bmsql_warehouse, bmsql_customer);
   SUCCESS
   bmsql_sharding=> ADD RESOURCE target_0 (
   bmsql_sharding(>     URL="jdbc:opengauss://127.0.0.1:35433/bmsql_0",
   bmsql_sharding(>     USER=omm,
   bmsql_sharding(>     PASSWORD=Huawei@123,
   bmsql_sharding(>     PROPERTIES("maximumPoolSize"=64, "minimumIdle"=0,"idleTimeout"="60000")
   bmsql_sharding(> ), target_1 (
   bmsql_sharding(>     URL="jdbc:opengauss://127.0.0.1:35433/bmsql_1",
   bmsql_sharding(>     USER=omm,
   bmsql_sharding(>     PASSWORD=Huawei@123,
   bmsql_sharding(>     PROPERTIES("maximumPoolSize"=64, "minimumIdle"=0,"idleTimeout"="60000")
   bmsql_sharding(> ), target_2 (
   bmsql_sharding(>     URL="jdbc:opengauss://127.0.0.1:35433/bmsql_2",
   bmsql_sharding(>     USER=omm,
   bmsql_sharding(>     PASSWORD=Huawei@123,
   bmsql_sharding(>     PROPERTIES("maximumPoolSize"=64, "minimumIdle"=0,"idleTimeout"="60000")
   bmsql_sharding(> );
   SUCCESS
   bmsql_sharding=> ALTER SHARDING TABLE RULE bmsql_warehouse(
   bmsql_sharding(>     RESOURCES(target_0, target_1, target_2),
   bmsql_sharding(>     SHARDING_COLUMN=w_id,
   bmsql_sharding(>     TYPE(NAME=MOD,PROPERTIES("sharding-count"=3))
   bmsql_sharding(> );
   SUCCESS
   bmsql_sharding=> show sharding binding table rules;
               sharding_binding_tables            
   -----------------------------------------------
    bmsql_warehouse, bmsql_customer
    bmsql_stock, bmsql_district, bmsql_order_line
   (2 rows)
   
   bmsql_sharding=> drop sharding binding table rules (bmsql_warehouse, bmsql_customer);
   ERROR:  Invalid binding table configuration in ShardingRuleConfiguration.
   bmsql_sharding=> show sharding binding table rules;
               sharding_binding_tables            
   -----------------------------------------------
    bmsql_warehouse, bmsql_customer
    bmsql_stock, bmsql_district, bmsql_order_line
   (2 rows)
   ```
   
   ```
   [INFO ] 2022-05-11 14:33:38.603 [Connection-1-ThreadExecutor] o.a.s.m.m.c.c.r.c.s.ScalingRegistrySubscriber - start scaling job, locked the schema name, event=MetadataVersionPreparedEvent(version=1, databaseName=bmsql_sharding)
   [INFO ] 2022-05-11 14:33:38.603 [Connection-1-ThreadExecutor] o.a.s.d.p.s.r.RuleAlteredJobWorker - Start scaling job by StartScalingEvent(databaseName=bmsql_sharding, activeVersion=0, newVersion=1)
   [ERROR] 2022-05-11 14:33:38.646 [Connection-1-ThreadExecutor] c.g.common.eventbus.EventBus.default - Exception thrown by subscriber method start(org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.cache.event.StartScalingEvent) on subscriber org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobWorker@bb12f41 when dispatching event: StartScalingEvent(databaseName=bmsql_sharding, activeVersion=0, newVersion=1)
   java.lang.IllegalArgumentException: Invalid binding table configuration in ShardingRuleConfiguration.
   	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:142)
   	at org.apache.shardingsphere.sharding.rule.ShardingRule.<init>(ShardingRule.java:120)
   	at org.apache.shardingsphere.sharding.schedule.ShardingRuleAlteredDetector.findRuleAlteredLogicTables(ShardingRuleAlteredDetector.java:80)
   	at org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobWorker.createJobConfig(RuleAlteredJobWorker.java:193)
   	at org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobWorker.start(RuleAlteredJobWorker.java:172)
   	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
   	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
   	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:87)
   	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:144)
   	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:72)
   	at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30)
   	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:67)
   	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:108)
   	at com.google.common.eventbus.EventBus.post(EventBus.java:212)
   	at org.apache.shardingsphere.proxy.backend.text.distsql.rdl.rule.RuleDefinitionBackendHandler.persistRuleConfigurationChange(RuleDefinitionBackendHandler.java:161)
   	at org.apache.shardingsphere.proxy.backend.text.distsql.rdl.rule.RuleDefinitionBackendHandler.prepareScaling(RuleDefinitionBackendHandler.java:150)
   	at org.apache.shardingsphere.proxy.backend.text.distsql.rdl.rule.RuleDefinitionBackendHandler.execute(RuleDefinitionBackendHandler.java:83)
   	at org.apache.shardingsphere.proxy.backend.text.distsql.rdl.rule.RuleDefinitionBackendHandler.execute(RuleDefinitionBackendHandler.java:58)
   	at org.apache.shardingsphere.proxy.backend.text.DatabaseRequiredBackendHandler.execute(DatabaseRequiredBackendHandler.java:51)
   	at org.apache.shardingsphere.proxy.frontend.opengauss.command.query.simple.OpenGaussComQueryExecutor.execute(OpenGaussComQueryExecutor.java:76)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:107)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:77)
   	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
   	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
   	at java.base/java.lang.Thread.run(Thread.java:833)
   [ERROR] 2022-05-11 14:36:22.582 [Connection-1-ThreadExecutor] o.a.s.p.f.c.CommandExecutorTask - Exception occur: 
   java.lang.IllegalArgumentException: Invalid binding table configuration in ShardingRuleConfiguration.
   	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:142)
   	at org.apache.shardingsphere.sharding.rule.ShardingRule.<init>(ShardingRule.java:120)
   	at org.apache.shardingsphere.sharding.rule.builder.ShardingRuleBuilder.build(ShardingRuleBuilder.java:41)
   	at org.apache.shardingsphere.sharding.rule.builder.ShardingRuleBuilder.build(ShardingRuleBuilder.java:35)
   	at org.apache.shardingsphere.infra.rule.builder.schema.SchemaRulesBuilder.buildRules(SchemaRulesBuilder.java:56)
   	at org.apache.shardingsphere.mode.metadata.MetaDataContextsBuilder.getDatabaseRules(MetaDataContextsBuilder.java:105)
   	at org.apache.shardingsphere.mode.metadata.MetaDataContextsBuilder.addDatabase(MetaDataContextsBuilder.java:83)
   	at org.apache.shardingsphere.mode.manager.ContextManager.buildChangedMetaDataContext(ContextManager.java:552)
   	at org.apache.shardingsphere.mode.manager.ContextManager.alterRuleConfiguration(ContextManager.java:318)
   	at org.apache.shardingsphere.proxy.backend.text.distsql.rdl.rule.RuleDefinitionBackendHandler.processSQLStatement(RuleDefinitionBackendHandler.java:113)
   	at org.apache.shardingsphere.proxy.backend.text.distsql.rdl.rule.RuleDefinitionBackendHandler.execute(RuleDefinitionBackendHandler.java:87)
   	at org.apache.shardingsphere.proxy.backend.text.distsql.rdl.rule.RuleDefinitionBackendHandler.execute(RuleDefinitionBackendHandler.java:58)
   	at org.apache.shardingsphere.proxy.backend.text.DatabaseRequiredBackendHandler.execute(DatabaseRequiredBackendHandler.java:51)
   	at org.apache.shardingsphere.proxy.frontend.opengauss.command.query.simple.OpenGaussComQueryExecutor.execute(OpenGaussComQueryExecutor.java:76)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:107)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:77)
   	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
   	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
   	at java.base/java.lang.Thread.run(Thread.java:833)
   ```


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