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

   ## Feature Request
   
   ### Is your feature request related to a problem?
   
   ```yaml
   rules:
     - !SHARDING
       bindingTables:
         - bmsql_warehouse, bmsql_customer
       defaultDatabaseStrategy:
         none:
       defaultTableStrategy:
         none:
       tables:
         bmsql_warehouse:
           actualDataNodes: ds_${0..1}.bmsql_warehouse
           databaseStrategy:
             standard:
               shardingColumn: w_id
               shardingAlgorithmName: mod
   
         bmsql_customer:
           actualDataNodes: ds_${0..1}.bmsql_customer
           databaseStrategy:
             standard:
               shardingColumn: c_w_id
               shardingAlgorithmName: mod
   
       shardingAlgorithms:
         mod:
           type: MOD
           props:
             sharding-count: 2
   
       scalingName: bmsql_scaling
       scaling:
         scaling_name1:
           completionDetector:
             props:
               incremental-task-idle-seconds-threshold: '60'
             type: IDLE
           dataConsistencyChecker:
             props:
               chunk-size: '1000'
             type: DATA_MATCH
   ```
   
   ```sql
   create table bmsql_warehouse (
     w_id        integer   not null,
     w_ytd       decimal(12,2),
     w_tax       decimal(4,4),
     w_name      varchar(10),
     w_street_1  varchar(20),
     w_street_2  varchar(20),
     w_city      varchar(20),
     w_state     char(2),
     w_zip       char(9)
   );
   create table bmsql_customer (
     c_w_id         integer        not null,
     c_d_id         integer        not null,
     c_id           integer        not null,
     c_discount     decimal(4,4),
     c_credit       char(2),
     c_last         varchar(16),
     c_first        varchar(16),
     c_credit_lim   decimal(12,2),
     c_balance      decimal(12,2),
     c_ytd_payment  decimal(12,2),
     c_payment_cnt  integer,
     c_delivery_cnt integer,
     c_street_1     varchar(20),
     c_street_2     varchar(20),
     c_city         varchar(20),
     c_state        char(2),
     c_zip          char(9),
     c_phone        char(16),
     c_since        timestamp,
     c_middle       char(2),
     c_data         varchar(500)
   );
   alter table bmsql_warehouse add constraint bmsql_warehouse_pkey
     primary key (w_id);
   
   alter table bmsql_customer add constraint bmsql_customer_pkey
     primary key (c_w_id, c_d_id, c_id);
   
   create index bmsql_customer_idx1
     on  bmsql_customer (c_w_id, c_d_id, c_last, c_first);
   ```
   
   ```sql
   ALTER SHARDING TABLE RULE bmsql_warehouse(
       RESOURCES(target_0, target_1, target_2),
       SHARDING_COLUMN=w_id,
       TYPE(NAME=MOD,PROPERTIES("sharding-count"=3))
   ), bmsql_customer(
       RESOURCES(target_0, target_1, target_2),
       SHARDING_COLUMN=c_w_id,
       TYPE(NAME=MOD,PROPERTIES("sharding-count"=3))
   );
   ```
   
   Error occurred:
   ```
   [INFO ] 2022-05-11 11:25:01.553 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.o.p.d.OpenGaussDataSourcePreparer - queryTableDefinition, sql=SELECT 
* FROM pg_get_tabledef('public.bmsql_warehouse'::regclass::oid)
   [INFO ] 2022-05-11 11:25:01.556 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.o.p.d.OpenGaussDataSourcePreparer - getActualTableDefinitions, 
schemaName=public, dataNode=DataNode(dataSourceName=ds_0, 
tableName=bmsql_warehouse, schemaName=null), tableDefinition=SET search_path = 
public;
   CREATE TABLE bmsql_warehouse (
       w_id integer NOT NULL,
       w_ytd numeric(12,2),
       w_tax numeric(4,4),
       w_name character varying(10),
       w_street_1 character varying(20),
       w_street_2 character varying(20),
       w_city character varying(20),
       w_state character(2),
       w_zip character(9)
   )
   WITH (orientation=row, compression=no);
   ALTER TABLE bmsql_warehouse ADD CONSTRAINT 
bmsql_warehouse_pkey_bmsql_warehouse PRIMARY KEY (w_id);
   [INFO ] 2022-05-11 11:25:01.606 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.o.p.d.OpenGaussDataSourcePreparer - queryTableDefinition, sql=SELECT 
* FROM pg_get_tabledef('public.bmsql_customer'::regclass::oid)
   [INFO ] 2022-05-11 11:25:01.608 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.o.p.d.OpenGaussDataSourcePreparer - getActualTableDefinitions, 
schemaName=public, dataNode=DataNode(dataSourceName=ds_0, 
tableName=bmsql_customer, schemaName=null), tableDefinition=SET search_path = 
public;
   CREATE TABLE bmsql_customer (
       c_w_id integer NOT NULL,
       c_d_id integer NOT NULL,
       c_id integer NOT NULL,
       c_discount numeric(4,4),
       c_credit character(2),
       c_last character varying(16),
       c_first character varying(16),
       c_credit_lim numeric(12,2),
       c_balance numeric(12,2),
       c_ytd_payment numeric(12,2),
       c_payment_cnt integer,
       c_delivery_cnt integer,
       c_street_1 character varying(20),
       c_street_2 character varying(20),
       c_city character varying(20),
       c_state character(2),
       c_zip character(9),
       c_phone character(16),
       c_since timestamp without time zone,
       c_middle character(2),
       c_data character varying(500)
   )
   WITH (orientation=row, compression=no);
   CREATE INDEX bmsql_customer_idx1_bmsql_customer ON bmsql_customer USING 
btree (c_w_id, c_d_id, c_last, c_first) TABLESPACE pg_default;
   ALTER TABLE bmsql_customer ADD CONSTRAINT bmsql_customer_pkey_bmsql_customer 
PRIMARY KEY (c_w_id, c_d_id, c_id);
   [INFO ] 2022-05-11 11:25:01.616 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.c.p.d.AbstractDataSourcePreparer - execute target table sql: 
   CREATE TABLE IF NOT EXISTS public.bmsql_warehouse (
       w_id integer NOT NULL,
       w_ytd numeric(12,2),
       w_tax numeric(4,4),
       w_name character varying(10),
       w_street_1 character varying(20),
       w_street_2 character varying(20),
       w_city character varying(20),
       w_state character(2),
       w_zip character(9)
   )
   
   [INFO ] 2022-05-11 11:25:01.967 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.c.p.d.AbstractDataSourcePreparer - execute target table sql: 
   ALTER TABLE public.bmsql_warehouse ADD CONSTRAINT 
bmsql_warehouse_pkey_bmsql_warehouse PRIMARY KEY (w_id)
   [INFO ] 2022-05-11 11:25:02.027 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.o.p.d.OpenGaussDataSourcePreparer - create target table 
'bmsql_warehouse' success
   [INFO ] 2022-05-11 11:25:02.028 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.c.p.d.AbstractDataSourcePreparer - execute target table sql: 
   CREATE TABLE IF NOT EXISTS public.bmsql_customer (
       c_w_id integer NOT NULL,
       c_d_id integer NOT NULL,
       c_id integer NOT NULL,
       c_discount numeric(4,4),
       c_credit character(2),
       c_last character varying(16),
       c_first character varying(16),
       c_credit_lim numeric(12,2),
       c_balance numeric(12,2),
       c_ytd_payment numeric(12,2),
       c_payment_cnt integer,
       c_delivery_cnt integer,
       c_street_1 character varying(20),
       c_street_2 character varying(20),
       c_city character varying(20),
       c_state character(2),
       c_zip character(9),
       c_phone character(16),
       c_since timestamp without time zone,
       c_middle character(2),
       c_data character varying(500)
   )
   
   [INFO ] 2022-05-11 11:25:02.079 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.c.p.d.AbstractDataSourcePreparer - execute target table sql: 
   ALTER TABLE public.bmsql_customer ADD CONSTRAINT 
bmsql_customer_pkey_bmsql_customer PRIMARY KEY (c_w_id, c_d_id, c_id)
   [INFO ] 2022-05-11 11:25:02.121 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.o.p.d.OpenGaussDataSourcePreparer - create target table 
'bmsql_customer' success
   [INFO ] 2022-05-11 11:25:02.123 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.c.c.d.AbstractDataSourceChecker - checkEmpty, sql=SELECT * FROM 
public.bmsql_warehouse LIMIT 1
   [INFO ] 2022-05-11 11:25:02.175 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.c.c.d.AbstractDataSourceChecker - checkEmpty, sql=SELECT * FROM 
public.bmsql_customer LIMIT 1
   [INFO ] 2022-05-11 11:25:02.293 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.c.m.l.PipelineTableMetaDataLoader - loadTableMetaData, 
schemaNameFinal=public, tableNamePattern=bmsql_warehouse, 
result={bmsql_warehouse=PipelineTableMetaData(name=bmsql_warehouse, 
columnMetaDataMap={w_id=PipelineColumnMetaData(ordinalPosition=1, name=w_id, 
dataType=4, dataTypeName=int4, primaryKey=true), 
w_ytd=PipelineColumnMetaData(ordinalPosition=2, name=w_ytd, dataType=2, 
dataTypeName=numeric, primaryKey=false), 
w_tax=PipelineColumnMetaData(ordinalPosition=3, name=w_tax, dataType=2, 
dataTypeName=numeric, primaryKey=false), 
w_name=PipelineColumnMetaData(ordinalPosition=4, name=w_name, dataType=12, 
dataTypeName=varchar, primaryKey=false), 
w_street_1=PipelineColumnMetaData(ordinalPosition=5, name=w_street_1, 
dataType=12, dataTypeName=varchar, primaryKey=false), 
w_street_2=PipelineColumnMetaData(ordinalPosition=6, name=w_street_2, 
dataType=12, dataTypeName=varchar, primaryKe
 y=false), w_city=PipelineColumnMetaData(ordinalPosition=7, name=w_city, 
dataType=12, dataTypeName=varchar, primaryKey=false), 
w_state=PipelineColumnMetaData(ordinalPosition=8, name=w_state, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
w_zip=PipelineColumnMetaData(ordinalPosition=9, name=w_zip, dataType=1, 
dataTypeName=bpchar, primaryKey=false)}, columnNames=[w_id, w_ytd, w_tax, 
w_name, w_street_1, w_street_2, w_city, w_state, w_zip], 
primaryKeyColumns=[w_id])}, cost time=56 ms
   [INFO ] 2022-05-11 11:25:02.299 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.s.r.p.InventoryTaskSplitter - getPositionByPrimaryKeyRange, endId is 
0, break, tableName=bmsql_warehouse, primaryKey=w_id, beginId=7
   [INFO ] 2022-05-11 11:25:02.401 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.c.m.l.PipelineTableMetaDataLoader - loadTableMetaData, 
schemaNameFinal=public, tableNamePattern=bmsql_customer, 
result={bmsql_customer=PipelineTableMetaData(name=bmsql_customer, 
columnMetaDataMap={c_w_id=PipelineColumnMetaData(ordinalPosition=1, 
name=c_w_id, dataType=4, dataTypeName=int4, primaryKey=true), 
c_d_id=PipelineColumnMetaData(ordinalPosition=2, name=c_d_id, dataType=4, 
dataTypeName=int4, primaryKey=true), 
c_id=PipelineColumnMetaData(ordinalPosition=3, name=c_id, dataType=4, 
dataTypeName=int4, primaryKey=true), 
c_discount=PipelineColumnMetaData(ordinalPosition=4, name=c_discount, 
dataType=2, dataTypeName=numeric, primaryKey=false), 
c_credit=PipelineColumnMetaData(ordinalPosition=5, name=c_credit, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
c_last=PipelineColumnMetaData(ordinalPosition=6, name=c_last, dataType=12, 
dataTypeName=varchar, primaryKey=false), c_fi
 rst=PipelineColumnMetaData(ordinalPosition=7, name=c_first, dataType=12, 
dataTypeName=varchar, primaryKey=false), 
c_credit_lim=PipelineColumnMetaData(ordinalPosition=8, name=c_credit_lim, 
dataType=2, dataTypeName=numeric, primaryKey=false), 
c_balance=PipelineColumnMetaData(ordinalPosition=9, name=c_balance, dataType=2, 
dataTypeName=numeric, primaryKey=false), 
c_ytd_payment=PipelineColumnMetaData(ordinalPosition=10, name=c_ytd_payment, 
dataType=2, dataTypeName=numeric, primaryKey=false), 
c_payment_cnt=PipelineColumnMetaData(ordinalPosition=11, name=c_payment_cnt, 
dataType=4, dataTypeName=int4, primaryKey=false), 
c_delivery_cnt=PipelineColumnMetaData(ordinalPosition=12, name=c_delivery_cnt, 
dataType=4, dataTypeName=int4, primaryKey=false), 
c_street_1=PipelineColumnMetaData(ordinalPosition=13, name=c_street_1, 
dataType=12, dataTypeName=varchar, primaryKey=false), 
c_street_2=PipelineColumnMetaData(ordinalPosition=14, name=c_street_2, 
dataType=12, dataTypeName=varchar, primaryKey=false),
  c_city=PipelineColumnMetaData(ordinalPosition=15, name=c_city, dataType=12, 
dataTypeName=varchar, primaryKey=false), 
c_state=PipelineColumnMetaData(ordinalPosition=16, name=c_state, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
c_zip=PipelineColumnMetaData(ordinalPosition=17, name=c_zip, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
c_phone=PipelineColumnMetaData(ordinalPosition=18, name=c_phone, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
c_since=PipelineColumnMetaData(ordinalPosition=19, name=c_since, dataType=93, 
dataTypeName=timestamp, primaryKey=false), 
c_middle=PipelineColumnMetaData(ordinalPosition=20, name=c_middle, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
c_data=PipelineColumnMetaData(ordinalPosition=21, name=c_data, dataType=12, 
dataTypeName=varchar, primaryKey=false)}, columnNames=[c_w_id, c_d_id, c_id, 
c_discount, c_credit, c_last, c_first, c_credit_lim, c_balance, c_ytd_payment, 
c_payment_cnt, c_delivery_cnt, c_street_1, c_street_2, c_cit
 y, c_state, c_zip, c_phone, c_since, c_middle, c_data], 
primaryKeyColumns=[c_w_id, c_d_id, c_id])}, cost time=101 ms
   [ERROR] 2022-05-11 11:25:02.402 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.s.r.RuleAlteredJob - job prepare failed, 
0130317c30317c3054317c626d73716c5f7368617264696e67-0
   
org.apache.shardingsphere.data.pipeline.core.exception.PipelineJobCreationException:
 Can not split range for table bmsql_customer, reason: primary key is union 
primary
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.checkPrimaryKey(InventoryTaskSplitter.java:177)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.getInventoryPositions(InventoryTaskSplitter.java:154)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitByPrimaryKey(InventoryTaskSplitter.java:118)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitDumperConfig(InventoryTaskSplitter.java:90)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitInventoryData(InventoryTaskSplitter.java:79)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.initInventoryTasks(RuleAlteredJobPreparer.java:160)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.prepare(RuleAlteredJobPreparer.java:85)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJob.execute(RuleAlteredJob.java:51)
           at 
org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor.process(SimpleJobExecutor.java:33)
           at 
org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor.process(SimpleJobExecutor.java:29)
           at 
org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor.process(ElasticJobExecutor.java:172)
           at 
org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor.lambda$process$0(ElasticJobExecutor.java:153)
           at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
           at 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
           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)
   [INFO ] 2022-05-11 11:25:02.403 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.s.r.RuleAlteredJobSchedulerCenter - remove and stop 
0130317c30317c3054317c626d73716c5f7368617264696e67
   [INFO ] 2022-05-11 11:25:02.403 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.s.r.RuleAlteredJobSchedulerCenter - schedulerMap is null, ignore
   [INFO ] 2022-05-11 11:25:02.424 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.s.r.RuleAlteredJobWorker - restoreSourceWriting, 
databaseName=bmsql_sharding
   [INFO ] 2022-05-11 11:25:02.424 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.s.r.RuleAlteredJobWorker - Source writing is still stopped on 
database 'bmsql_sharding', restore it now
   [ERROR] 2022-05-11 11:25:02.425 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.s.r.RuleAlteredJobWorker - restore source writing failed, 
databaseName=bmsql_sharding
   
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryException:
 java.lang.IllegalStateException: Not acquired
           at 
org.apache.shardingsphere.mode.repository.cluster.zookeeper.handler.CuratorZookeeperExceptionHandler.handleException(CuratorZookeeperExceptionHandler.java:53)
           at 
org.apache.shardingsphere.mode.repository.cluster.zookeeper.lock.ZookeeperInternalLockHolder$ZookeeperInternalLock.unlock(ZookeeperInternalLockHolder.java:117)
           at 
org.apache.shardingsphere.mode.manager.cluster.coordinator.lock.global.GlobalLockRegistryService.releaseLock(GlobalLockRegistryService.java:46)
           at 
org.apache.shardingsphere.mode.manager.cluster.coordinator.lock.global.ShardingSphereDistributeGlobalLock.releaseLock(ShardingSphereDistributeGlobalLock.java:139)
           at 
org.apache.shardingsphere.mode.manager.cluster.coordinator.lock.global.general.ShardingSphereGeneralLock.releaseLock(ShardingSphereGeneralLock.java:75)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobWorker.restoreSourceWriting(RuleAlteredJobWorker.java:328)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobWorker.scalingReleaseDatabaseLevelLock(RuleAlteredJobWorker.java:313)
           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.data.pipeline.scenario.rulealtered.RuleAlteredJob.execute(RuleAlteredJob.java:60)
           at 
org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor.process(SimpleJobExecutor.java:33)
           at 
org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor.process(SimpleJobExecutor.java:29)
           at 
org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor.process(ElasticJobExecutor.java:172)
           at 
org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor.lambda$process$0(ElasticJobExecutor.java:153)
           at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
           at 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
           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)
   Caused by: java.lang.IllegalStateException: Not acquired
           at 
org.apache.curator.shaded.com.google.common.base.Preconditions.checkState(Preconditions.java:507)
           at 
org.apache.curator.framework.recipes.locks.InterProcessSemaphoreMutex.release(InterProcessSemaphoreMutex.java:75)
           at 
org.apache.shardingsphere.mode.repository.cluster.zookeeper.lock.ZookeeperInternalLockHolder$ZookeeperInternalLock.unlock(ZookeeperInternalLockHolder.java:113)
           ... 28 common frames omitted
   [INFO ] 2022-05-11 11:25:02.425 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.d.p.c.lock.PipelineSimpleLock - releaseLock, lockName=bmsql_sharding
   [ERROR] 2022-05-11 11:25:02.428 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-1] 
o.a.s.e.e.h.g.LogJobErrorHandler - Job 
'0130317c30317c3054317c626d73716c5f7368617264696e67' exception occur in job 
processing
   
org.apache.shardingsphere.data.pipeline.core.exception.PipelineJobCreationException:
 Can not split range for table bmsql_customer, reason: primary key is union 
primary
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.checkPrimaryKey(InventoryTaskSplitter.java:177)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.getInventoryPositions(InventoryTaskSplitter.java:154)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitByPrimaryKey(InventoryTaskSplitter.java:118)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitDumperConfig(InventoryTaskSplitter.java:90)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitInventoryData(InventoryTaskSplitter.java:79)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.initInventoryTasks(RuleAlteredJobPreparer.java:160)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.prepare(RuleAlteredJobPreparer.java:85)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJob.execute(RuleAlteredJob.java:51)
           at 
org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor.process(SimpleJobExecutor.java:33)
           at 
org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor.process(SimpleJobExecutor.java:29)
           at 
org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor.process(ElasticJobExecutor.java:172)
           at 
org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor.lambda$process$0(ElasticJobExecutor.java:153)
           at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
           at 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
           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)
   [INFO ] 2022-05-11 11:25:05.949 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-2] 
o.a.s.d.p.s.r.RuleAlteredJobPreparer - unlocked, 
lockName=prepare-0130317c30317c3054317c626d73716c5f7368617264696e67
   [INFO ] 2022-05-11 11:25:06.015 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-2] 
o.a.s.d.p.c.m.l.PipelineTableMetaDataLoader - loadTableMetaData, 
schemaNameFinal=public, tableNamePattern=bmsql_warehouse, 
result={bmsql_warehouse=PipelineTableMetaData(name=bmsql_warehouse, 
columnMetaDataMap={w_id=PipelineColumnMetaData(ordinalPosition=1, name=w_id, 
dataType=4, dataTypeName=int4, primaryKey=true), 
w_ytd=PipelineColumnMetaData(ordinalPosition=2, name=w_ytd, dataType=2, 
dataTypeName=numeric, primaryKey=false), 
w_tax=PipelineColumnMetaData(ordinalPosition=3, name=w_tax, dataType=2, 
dataTypeName=numeric, primaryKey=false), 
w_name=PipelineColumnMetaData(ordinalPosition=4, name=w_name, dataType=12, 
dataTypeName=varchar, primaryKey=false), 
w_street_1=PipelineColumnMetaData(ordinalPosition=5, name=w_street_1, 
dataType=12, dataTypeName=varchar, primaryKey=false), 
w_street_2=PipelineColumnMetaData(ordinalPosition=6, name=w_street_2, 
dataType=12, dataTypeName=varchar, primaryKe
 y=false), w_city=PipelineColumnMetaData(ordinalPosition=7, name=w_city, 
dataType=12, dataTypeName=varchar, primaryKey=false), 
w_state=PipelineColumnMetaData(ordinalPosition=8, name=w_state, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
w_zip=PipelineColumnMetaData(ordinalPosition=9, name=w_zip, dataType=1, 
dataTypeName=bpchar, primaryKey=false)}, columnNames=[w_id, w_ytd, w_tax, 
w_name, w_street_1, w_street_2, w_city, w_state, w_zip], 
primaryKeyColumns=[w_id])}, cost time=46 ms
   [INFO ] 2022-05-11 11:25:06.018 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-2] 
o.a.s.d.p.s.r.p.InventoryTaskSplitter - getPositionByPrimaryKeyRange, endId is 
0, break, tableName=bmsql_warehouse, primaryKey=w_id, beginId=6
   [INFO ] 2022-05-11 11:25:06.097 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-2] 
o.a.s.d.p.c.m.l.PipelineTableMetaDataLoader - loadTableMetaData, 
schemaNameFinal=public, tableNamePattern=bmsql_customer, 
result={bmsql_customer=PipelineTableMetaData(name=bmsql_customer, 
columnMetaDataMap={c_w_id=PipelineColumnMetaData(ordinalPosition=1, 
name=c_w_id, dataType=4, dataTypeName=int4, primaryKey=true), 
c_d_id=PipelineColumnMetaData(ordinalPosition=2, name=c_d_id, dataType=4, 
dataTypeName=int4, primaryKey=true), 
c_id=PipelineColumnMetaData(ordinalPosition=3, name=c_id, dataType=4, 
dataTypeName=int4, primaryKey=true), 
c_discount=PipelineColumnMetaData(ordinalPosition=4, name=c_discount, 
dataType=2, dataTypeName=numeric, primaryKey=false), 
c_credit=PipelineColumnMetaData(ordinalPosition=5, name=c_credit, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
c_last=PipelineColumnMetaData(ordinalPosition=6, name=c_last, dataType=12, 
dataTypeName=varchar, primaryKey=false), c_fi
 rst=PipelineColumnMetaData(ordinalPosition=7, name=c_first, dataType=12, 
dataTypeName=varchar, primaryKey=false), 
c_credit_lim=PipelineColumnMetaData(ordinalPosition=8, name=c_credit_lim, 
dataType=2, dataTypeName=numeric, primaryKey=false), 
c_balance=PipelineColumnMetaData(ordinalPosition=9, name=c_balance, dataType=2, 
dataTypeName=numeric, primaryKey=false), 
c_ytd_payment=PipelineColumnMetaData(ordinalPosition=10, name=c_ytd_payment, 
dataType=2, dataTypeName=numeric, primaryKey=false), 
c_payment_cnt=PipelineColumnMetaData(ordinalPosition=11, name=c_payment_cnt, 
dataType=4, dataTypeName=int4, primaryKey=false), 
c_delivery_cnt=PipelineColumnMetaData(ordinalPosition=12, name=c_delivery_cnt, 
dataType=4, dataTypeName=int4, primaryKey=false), 
c_street_1=PipelineColumnMetaData(ordinalPosition=13, name=c_street_1, 
dataType=12, dataTypeName=varchar, primaryKey=false), 
c_street_2=PipelineColumnMetaData(ordinalPosition=14, name=c_street_2, 
dataType=12, dataTypeName=varchar, primaryKey=false),
  c_city=PipelineColumnMetaData(ordinalPosition=15, name=c_city, dataType=12, 
dataTypeName=varchar, primaryKey=false), 
c_state=PipelineColumnMetaData(ordinalPosition=16, name=c_state, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
c_zip=PipelineColumnMetaData(ordinalPosition=17, name=c_zip, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
c_phone=PipelineColumnMetaData(ordinalPosition=18, name=c_phone, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
c_since=PipelineColumnMetaData(ordinalPosition=19, name=c_since, dataType=93, 
dataTypeName=timestamp, primaryKey=false), 
c_middle=PipelineColumnMetaData(ordinalPosition=20, name=c_middle, dataType=1, 
dataTypeName=bpchar, primaryKey=false), 
c_data=PipelineColumnMetaData(ordinalPosition=21, name=c_data, dataType=12, 
dataTypeName=varchar, primaryKey=false)}, columnNames=[c_w_id, c_d_id, c_id, 
c_discount, c_credit, c_last, c_first, c_credit_lim, c_balance, c_ytd_payment, 
c_payment_cnt, c_delivery_cnt, c_street_1, c_street_2, c_cit
 y, c_state, c_zip, c_phone, c_since, c_middle, c_data], 
primaryKeyColumns=[c_w_id, c_d_id, c_id])}, cost time=79 ms
   [ERROR] 2022-05-11 11:25:06.097 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-2] 
o.a.s.d.p.s.r.RuleAlteredJob - job prepare failed, 
0130317c30317c3054317c626d73716c5f7368617264696e67-1
   
org.apache.shardingsphere.data.pipeline.core.exception.PipelineJobCreationException:
 Can not split range for table bmsql_customer, reason: primary key is union 
primary
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.checkPrimaryKey(InventoryTaskSplitter.java:177)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.getInventoryPositions(InventoryTaskSplitter.java:154)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitByPrimaryKey(InventoryTaskSplitter.java:118)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitDumperConfig(InventoryTaskSplitter.java:90)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitInventoryData(InventoryTaskSplitter.java:79)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.initInventoryTasks(RuleAlteredJobPreparer.java:160)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.prepare(RuleAlteredJobPreparer.java:85)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJob.execute(RuleAlteredJob.java:51)
           at 
org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor.process(SimpleJobExecutor.java:33)
           at 
org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor.process(SimpleJobExecutor.java:29)
           at 
org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor.process(ElasticJobExecutor.java:172)
           at 
org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor.lambda$process$0(ElasticJobExecutor.java:153)
           at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
           at 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
           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)
   [INFO ] 2022-05-11 11:25:06.097 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-2] 
o.a.s.d.p.s.r.RuleAlteredJobSchedulerCenter - remove and stop 
0130317c30317c3054317c626d73716c5f7368617264696e67
   [INFO ] 2022-05-11 11:25:06.097 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-2] 
o.a.s.d.p.s.r.RuleAlteredJobSchedulerCenter - schedulerMap is null, ignore
   [INFO ] 2022-05-11 11:25:06.102 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-2] 
o.a.s.d.p.s.r.RuleAlteredJobWorker - restoreSourceWriting, 
databaseName=bmsql_sharding
   [INFO ] 2022-05-11 11:25:06.102 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-2] 
o.a.s.d.p.c.lock.PipelineSimpleLock - releaseLock, lockName=bmsql_sharding
   [ERROR] 2022-05-11 11:25:06.103 
[elasticjob-0130317c30317c3054317c626d73716c5f7368617264696e67-2] 
o.a.s.e.e.h.g.LogJobErrorHandler - Job 
'0130317c30317c3054317c626d73716c5f7368617264696e67' exception occur in job 
processing
   
org.apache.shardingsphere.data.pipeline.core.exception.PipelineJobCreationException:
 Can not split range for table bmsql_customer, reason: primary key is union 
primary
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.checkPrimaryKey(InventoryTaskSplitter.java:177)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.getInventoryPositions(InventoryTaskSplitter.java:154)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitByPrimaryKey(InventoryTaskSplitter.java:118)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitDumperConfig(InventoryTaskSplitter.java:90)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.prepare.InventoryTaskSplitter.splitInventoryData(InventoryTaskSplitter.java:79)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.initInventoryTasks(RuleAlteredJobPreparer.java:160)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobPreparer.prepare(RuleAlteredJobPreparer.java:85)
           at 
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJob.execute(RuleAlteredJob.java:51)
           at 
org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor.process(SimpleJobExecutor.java:33)
           at 
org.apache.shardingsphere.elasticjob.simple.executor.SimpleJobExecutor.process(SimpleJobExecutor.java:29)
           at 
org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor.process(ElasticJobExecutor.java:172)
           at 
org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor.lambda$process$0(ElasticJobExecutor.java:153)
           at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
           at 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
           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)
   ```
   
   ### Describe the feature you would like.
   
   Not urgent. 
   Consider supporting table with union primary key.
   


-- 
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-unsubscr...@shardingsphere.apache.org.apache.org

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

Reply via email to