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:
[email protected]
For queries about this service, please contact Infrastructure at:
[email protected]