sandyustc opened a new issue, #6878: URL: https://github.com/apache/seatunnel/issues/6878
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22) and found no similar issues. ### What happened Same service for different databases, Cross-database processing is not implemented ### SeaTunnel Version 2.3.3 ### SeaTunnel Config ```conf { "env":{ "parallelism":1, "job.mode":"batch", "checkpoint.interval":10000 }, "source":[ { "plugin_name":"Jdbc", "url":"jdbc:postgresql://202.160.22.109:5432/plm80ptcfat20240401", "driver":"org.postgresql.Driver", "connection_check_timeout_sec":1000, "user":"plm80bzstreamtest", "password":"test", "query":"select * from PARTVER WHERE dataflg > 0 " } ], "transform":[ { "plugin_name":"FieldMapper", "source_table_name":"PARTVER", "result_talbe_name":"PARTVER", "field_mapper":{ "librarytn":"librarytn", "chkintime":"chkintime", "properfield_71":"properfield_71", "properfield_70":"properfield_70", "msym":"msym", "verno":"verno", "del":"del", "originname":"originname", "plchangeno":"plchangeno", "spid":"spid", "copyid":"copyid", "lockid":"lockid", "masterid":"masterid", "changeno":"changeno", "properfield_73":"properfield_73", "lifetplcno":"lifetplcno", "ctime":"ctime", "properfield_72":"properfield_72", "properfield_75":"properfield_75", "state":"state", "id":"id", "properfield_74":"properfield_74", "properfield_77":"properfield_77", "properfield_76":"properfield_76", "properfield_78":"properfield_78", "period":"period", "plid":"plid", "deltime":"deltime", "dtype":"dtype", "fverno":"fverno", "workdirectoryid":"workdirectoryid", "isfp":"isfp", "chkinusr":"chkinusr", "properfield_6":"properfield_6", "properfield_5":"properfield_5", "properfield_8":"properfield_8", "properfield_7":"properfield_7", "parttype":"parttype", "properfield_9":"properfield_9", "standardno":"standardno", "properfield_15":"properfield_15", "copychangeno":"copychangeno", "properfield_14":"properfield_14", "properfield_17":"properfield_17", "properfield_16":"properfield_16", "properfield_19":"properfield_19", "haschild":"haschild", "properfield_18":"properfield_18", "dsnweight":"dsnweight", "wkaid":"wkaid", "verdesc":"verdesc", "properfield_11":"properfield_11", "properfield_10":"properfield_10", "properfield_13":"properfield_13", "latest":"latest", "properfield_12":"properfield_12", "creator":"creator", "libraryid":"libraryid", "branchtype":"branchtype", "freverno":"freverno", "properfield_26":"properfield_26", "properfield_25":"properfield_25", "fchangeno":"fchangeno", "properfield_28":"properfield_28", "lstate":"lstate", "locktn":"locktn", "properfield_27":"properfield_27", "properfield_2":"properfield_2", "properfield_1":"properfield_1", "properfield_29":"properfield_29", "id2":"id2", "properfield_4":"properfield_4", "properfield_3":"properfield_3", "properfield_20":"properfield_20", "properfield_22":"properfield_22", "properfield_21":"properfield_21", "properfield_24":"properfield_24", "properfield_23":"properfield_23", "librarydirectoryid":"librarydirectoryid", "sccc":"sccc", "dpid":"dpid", "assytype":"assytype", "source":"source", "mtime":"mtime", "osystemid":"osystemid", "muser":"muser", "properfield_37":"properfield_37", "specs":"specs", "properfield_36":"properfield_36", "verbranch":"verbranch", "properfield_39":"properfield_39", "properfield_38":"properfield_38", "duser":"duser", "properfield_31":"properfield_31", "properfield_30":"properfield_30", "properfield_33":"properfield_33", "properfield_32":"properfield_32", "properfield_35":"properfield_35", "properfield_34":"properfield_34", "degree":"degree", "smemo":"smemo", "itemno":"itemno", "lockuser":"lockuser", "mastertn":"mastertn", "properfield_48":"properfield_48", "properfield_47":"properfield_47", "unit":"unit", "ename":"ename", "properfield_49":"properfield_49", "properfield":"properfield", "sccctime":"sccctime", "name":"name", "properfield_40":"properfield_40", "properfield_42":"properfield_42", "properfield_41":"properfield_41", "properfield_44":"properfield_44", "properfield_43":"properfield_43", "properfield_46":"properfield_46", "properfield_45":"properfield_45", "no":"no", "tracetype":"tracetype", "fsccc":"fsccc", "origin":"origin", "copytype":"copytype", "ptype":"ptype", "properfield_59":"properfield_59", "properfield_58":"properfield_58", "properfield_51":"properfield_51", "properfield_50":"properfield_50", "properfield_53":"properfield_53", "properfield_52":"properfield_52", "properfield_55":"properfield_55", "properfield_54":"properfield_54", "properfield_57":"properfield_57", "reverno":"reverno", "properfield_56":"properfield_56", "owner":"owner", "isshared":"isshared", "properfield_60":"properfield_60", "chktime":"chktime", "lifetplid":"lifetplid", "mtlmark":"mtlmark", "lockstate":"lockstate", "copytn":"copytn", "properfield_69":"properfield_69", "securityname":"securityname", "chkusr":"chkusr", "alteruser":"alteruser", "properfield_62":"properfield_62", "properfield_61":"properfield_61", "stndcost":"stndcost", "properfield_64":"properfield_64", "properfield_63":"properfield_63", "properfield_66":"properfield_66", "properfield_65":"properfield_65", "eoriginno":"eoriginno", "properfield_68":"properfield_68", "properfield_67":"properfield_67" } } ], "sink":[ { "plugin_name":"JdbcCommon", "url":"jdbc:postgresql:////202.160.22.109:5432/plm80target2024", "driver":"org.postgresql.Driver", "user":"plm80bzstreamtest", "password":"test", "generate_sink_sql":true, "database":"plm80target2024", "table":"public.PARTVER", "schema_save_mode":"CREATE_SCHEMA_WHEN_NOT_EXIST", "data_save_mode":"APPEND_DATA", "primary_keys":[ "id" ] } ] } ``` ### Running Command ```shell restapi: /hazelcast/rest/maps/submit-job ``` ### Error Exception ```log 024-05-21 11:39:34,398 ERROR org.apache.seatunnel.connectors.seatunnel.jdbc.internal.JdbcOutputFormat - JDBC executeBatch error, retry times = 0 java.sql.BatchUpdateException: Batch entry 0 INSERT INTO plm80target2024CTMTC.public.PARTVER (properfield, wkaid, properfield_38, properfield_39, properfield_36, properfield_37, degree, del, dsnweight, copytn, dpid, lockuser, properfield_45, properfield_46, properfield_43, properfield_44, properfield_41, properfield_42, mastertn, properfield_40, lifetplid, properfield_29, properfield_27, properfield_28, state, properfield_25, no, properfield_26, ptype, itemno, securityname, fchangeno, source, verbranch, assytype, fverno, properfield_34, properfield_35, properfield_32, properfield_33, properfield_30, properfield_31, properfield_18, verdesc, isfp, properfield_19, properfield_16, properfield_2, properfield_1, properfield_17, parttype, properfield_14, properfield_4, properfield_15, properfield_3, properfield_6, properfield_5, properfield_8, properfield_7, id, chkinusr, properfield_9, sccctime, owner, lockstate, originname, properfield_23, properfield_24, properfield_21, properfield_22 , librarytn, plid, properfield_20, latest, librarydirectoryid, copyid, lstate, locktn, freverno, mtime, creator, muser, haschild, fsccc, properfield_12, properfield_13, properfield_10, properfield_11, duser, msym, lockid, spid, branchtype, smemo, tracetype, ename, alteruser, period, changeno, copychangeno, deltime, properfield_69, properfield_70, properfield_71, eoriginno, properfield_78, properfield_76, properfield_77, properfield_74, properfield_75, specs, properfield_72, properfield_73, libraryid, stndcost, copytype, osystemid, properfield_58, properfield_59, reverno, unit, dtype, chkintime, verno, properfield_60, name, properfield_67, properfield_68, properfield_65, properfield_66, properfield_63, properfield_64, properfield_61, properfield_62, id2, lifetplcno, standardno, properfield_49, chkusr, ctime, properfield_47, plchangeno, properfield_48, workdirectoryid, isshared, chktime, mtlmark, origin, properfield_56, properfield_57, properfield_54, sccc, properfield_55, properfield _52, properfield_53, properfield_50, masterid, properfield_51) VALUES ((''), ('3'), (NULL), (NULL), (NULL), (NULL), (NULL), ('0'::numeric), (NULL), (NULL), ('129b6d36-fc5d-48c8-888a-78ad15d22070'), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), ('PARTMAIN'), (NULL), ('2c818e1b-2325-44a3-83a3-096643cabbf6'), (NULL), (NULL), (NULL), ('H'), (NULL), ('23BAE202XF01'), (NULL), (NULL), (NULL), (NULL), ('0'::int4), ('make'), ('0'::int4), (NULL), (''), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), ('A.1'), ('0'::int4), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), ('cf512d57-c7ce-48f0-afb4-adf266ff60f9'), (NULL), (NULL), (NULL), (NULL), ('0'::int4), (NULL), (NULL), (NULL), (NULL), (NULL), ('PRODUCTLIBRARY'), (NULL), (NULL), ('0'::int4), ('27072b52-d58a-48de-8914-7d2eef08cde1'), (NULL), ('RELEASED'), (NULL), (NULL), ('2018-08-11 00:00:00+08'), ('Administrator'), ('Administrator'), (NULL), (NULL), (NULL), (NUL L), (NULL), (NULL), (NULL), ('I'), (NULL), (NULL), ('0'::int4), (NULL), (NULL), (NULL), (NULL), ('0'::int4), ('1'::int4), ('0'::int4), (NULL), ('0'::int4), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), ('11535990-4898-4d3a-b331-ae0395ed5b1f'), (NULL), ('0'::int4), (NULL), (NULL), (NULL), (NULL), ('kg'), (NULL), (NULL), ('A'), (NULL), ('烟支剔除压紧专用件'), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), ('fbfdc859-8803-4a92-adf9-c0c6e6217e25'), ('0'::int4), (NULL), (NULL), (''), ('2018-08-11 00:00:00+08'), (NULL), ('0'::int4), (NULL), (NULL), ('0'::int4), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), ('0'::int4), (NULL), (NULL), (NULL), (NULL), ('866a596a-fc90-4955-bca0-ce970cd2fd81'), (NULL)) ON CONFLICT (id) DO UPDATE SET properfield=EXCLUDED.properfield, wkaid=EXCLUDED.wkaid, properfield_38=EXCLUDED.properfield_38, properfield_39=EXCLUDED.properfield_39, properfield_36=EXCLUDED.properfield_36, properfield_37=EX CLUDED.properfield_37, degree=EXCLUDED.degree, del=EXCLUDED.del, dsnweight=EXCLUDED.dsnweight, copytn=EXCLUDED.copytn, dpid=EXCLUDED.dpid, lockuser=EXCLUDED.lockuser, properfield_45=EXCLUDED.properfield_45, properfield_46=EXCLUDED.properfield_46, properfield_43=EXCLUDED.properfield_43, properfield_44=EXCLUDED.properfield_44, properfield_41=EXCLUDED.properfield_41, properfield_42=EXCLUDED.properfield_42, mastertn=EXCLUDED.mastertn, properfield_40=EXCLUDED.properfield_40, lifetplid=EXCLUDED.lifetplid, properfield_29=EXCLUDED.properfield_29, properfield_27=EXCLUDED.properfield_27, properfield_28=EXCLUDED.properfield_28, state=EXCLUDED.state, properfield_25=EXCLUDED.properfield_25, no=EXCLUDED.no, properfield_26=EXCLUDED.properfield_26, ptype=EXCLUDED.ptype, itemno=EXCLUDED.itemno, securityname=EXCLUDED.securityname, fchangeno=EXCLUDED.fchangeno, source=EXCLUDED.source, verbranch=EXCLUDED.verbranch, assytype=EXCLUDED.assytype, fverno=EXCLUDED.fverno, properfield_34=EXCLUDED.properfield_ 34, properfield_35=EXCLUDED.properfield_35, properfield_32=EXCLUDED.properfield_32, properfield_33=EXCLUDED.properfield_33, properfield_30=EXCLUDED.properfield_30, properfield_31=EXCLUDED.properfield_31, properfield_18=EXCLUDED.properfield_18, verdesc=EXCLUDED.verdesc, isfp=EXCLUDED.isfp, properfield_19=EXCLUDED.properfield_19, properfield_16=EXCLUDED.properfield_16, properfield_2=EXCLUDED.properfield_2, properfield_1=EXCLUDED.properfield_1, properfield_17=EXCLUDED.properfield_17, parttype=EXCLUDED.parttype, properfield_14=EXCLUDED.properfield_14, properfield_4=EXCLUDED.properfield_4, properfield_15=EXCLUDED.properfield_15, properfield_3=EXCLUDED.properfield_3, properfield_6=EXCLUDED.properfield_6, properfield_5=EXCLUDED.properfield_5, properfield_8=EXCLUDED.properfield_8, properfield_7=EXCLUDED.properfield_7, id=EXCLUDED.id, chkinusr=EXCLUDED.chkinusr, properfield_9=EXCLUDED.properfield_9, sccctime=EXCLUDED.sccctime, owner=EXCLUDED.owner, lockstate=EXCLUDED.lockstate, originname=EX CLUDED.originname, properfield_23=EXCLUDED.properfield_23, properfield_24=EXCLUDED.properfield_24, properfield_21=EXCLUDED.properfield_21, properfield_22=EXCLUDED.properfield_22, librarytn=EXCLUDED.librarytn, plid=EXCLUDED.plid, properfield_20=EXCLUDED.properfield_20, latest=EXCLUDED.latest, librarydirectoryid=EXCLUDED.librarydirectoryid, copyid=EXCLUDED.copyid, lstate=EXCLUDED.lstate, locktn=EXCLUDED.locktn, freverno=EXCLUDED.freverno, mtime=EXCLUDED.mtime, creator=EXCLUDED.creator, muser=EXCLUDED.muser, haschild=EXCLUDED.haschild, fsccc=EXCLUDED.fsccc, properfield_12=EXCLUDED.properfield_12, properfield_13=EXCLUDED.properfield_13, properfield_10=EXCLUDED.properfield_10, properfield_11=EXCLUDED.properfield_11, duser=EXCLUDED.duser, msym=EXCLUDED.msym, lockid=EXCLUDED.lockid, spid=EXCLUDED.spid, branchtype=EXCLUDED.branchtype, smemo=EXCLUDED.smemo, tracetype=EXCLUDED.tracetype, ename=EXCLUDED.ename, alteruser=EXCLUDED.alteruser, period=EXCLUDED.period, changeno=EXCLUDED.changeno, co pychangeno=EXCLUDED.copychangeno, deltime=EXCLUDED.deltime, properfield_69=EXCLUDED.properfield_69, properfield_70=EXCLUDED.properfield_70, properfield_71=EXCLUDED.properfield_71, eoriginno=EXCLUDED.eoriginno, properfield_78=EXCLUDED.properfield_78, properfield_76=EXCLUDED.properfield_76, properfield_77=EXCLUDED.properfield_77, properfield_74=EXCLUDED.properfield_74, properfield_75=EXCLUDED.properfield_75, specs=EXCLUDED.specs, properfield_72=EXCLUDED.properfield_72, properfield_73=EXCLUDED.properfield_73, libraryid=EXCLUDED.libraryid, stndcost=EXCLUDED.stndcost, copytype=EXCLUDED.copytype, osystemid=EXCLUDED.osystemid, properfield_58=EXCLUDED.properfield_58, properfield_59=EXCLUDED.properfield_59, reverno=EXCLUDED.reverno, unit=EXCLUDED.unit, dtype=EXCLUDED.dtype, chkintime=EXCLUDED.chkintime, verno=EXCLUDED.verno, properfield_60=EXCLUDED.properfield_60, name=EXCLUDED.name, properfield_67=EXCLUDED.properfield_67, properfield_68=EXCLUDED.properfield_68, properfield_65=EXCLUDED.prope rfield_65, properfield_66=EXCLUDED.properfield_66, properfield_63=EXCLUDED.properfield_63, properfield_64=EXCLUDED.properfield_64, properfield_61=EXCLUDED.properfield_61, properfield_62=EXCLUDED.properfield_62, id2=EXCLUDED.id2, lifetplcno=EXCLUDED.lifetplcno, standardno=EXCLUDED.standardno, properfield_49=EXCLUDED.properfield_49, chkusr=EXCLUDED.chkusr, ctime=EXCLUDED.ctime, properfield_47=EXCLUDED.properfield_47, plchangeno=EXCLUDED.plchangeno, properfield_48=EXCLUDED.properfield_48, workdirectoryid=EXCLUDED.workdirectoryid, isshared=EXCLUDED.isshared, chktime=EXCLUDED.chktime, mtlmark=EXCLUDED.mtlmark, origin=EXCLUDED.origin, properfield_56=EXCLUDED.properfield_56, properfield_57=EXCLUDED.properfield_57, properfield_54=EXCLUDED.properfield_54, sccc=EXCLUDED.sccc, properfield_55=EXCLUDED.properfield_55, properfield_52=EXCLUDED.properfield_52, properfield_53=EXCLUDED.properfield_53, properfield_50=EXCLUDED.properfield_50, masterid=EXCLUDED.masterid, properfield_51=EXCLUDED.properfi eld_51 was aborted: 错误: 未实现跨数据库关联: "plm80target2024ctmtc.public.partver" 位置:13 Call getNextException to see other errors in the batch. at org.postgresql.jdbc.BatchResultHandler.handleCompletion(BatchResultHandler.java:186) ~[postgresql-42.7.3.jar:42.7.3] at org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:897) ~[postgresql-42.7.3.jar:42.7.3] at org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:936) ~[postgresql-42.7.3.jar:42.7.3] at org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1733) ~[postgresql-42.7.3.jar:42.7.3] at org.apache.seatunnel.connectors.seatunnel.jdbc.internal.executor.FieldNamedPreparedStatement.executeBatch(FieldNamedPreparedStatement.java:533) ~[connector-jdbc-2.3.3-2.11.12.jar:2.3.3] at org.apache.seatunnel.connectors.seatunnel.jdbc.internal.executor.SimpleBatchStatementExecutor.executeBatch(SimpleBatchStatementExecutor.java:51) ~[connector-jdbc-2.3.3-2.11.12.jar:2.3.3] at org.apache.seatunnel.connectors.seatunnel.jdbc.internal.executor.BufferReducedBatchStatementExecutor.executeBatch(BufferReducedBatchStatementExecutor.java:89) ~[connector-jdbc-2.3.3-2.11.12.jar:2.3.3] at org.apache.seatunnel.connectors.seatunnel.jdbc.internal.JdbcOutputFormat.attemptFlush(JdbcOutputFormat.java:165) ~[connector-jdbc-2.3.3-2.11.12.jar:2.3.3] at org.apache.seatunnel.connectors.seatunnel.jdbc.internal.JdbcOutputFormat.flush(JdbcOutputFormat.java:130) ~[connector-jdbc-2.3.3-2.11.12.jar:2.3.3] at org.apache.seatunnel.connectors.seatunnel.jdbc.internal.JdbcOutputFormat.writeRecord(JdbcOutputFormat.java:107) ~[connector-jdbc-2.3.3-2.11.12.jar:2.3.3] at com.sipm.plm.jdbc.common.sink.JdbcCommonSinkWriter.write(JdbcCommonSinkWriter.java:112) ~[connector-sipm-jdbc-2.3.3-2.11.12.jar:2.3.3] at com.sipm.plm.jdbc.common.sink.JdbcCommonSinkWriter.write(JdbcCommonSinkWriter.java:1) ~[connector-sipm-jdbc-2.3.3-2.11.12.jar:2.3.3] at org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.received(SinkFlowLifeCycle.java:227) ~[seatunnel-starter.jar:2.3.3] at org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.received(SinkFlowLifeCycle.java:61) ~[seatunnel-starter.jar:2.3.3] at org.apache.seatunnel.engine.server.task.SeaTunnelTransformCollector.collect(SeaTunnelTransformCollector.java:39) ~[seatunnel-starter.jar:2.3.3] at org.apache.seatunnel.engine.server.task.SeaTunnelTransformCollector.collect(SeaTunnelTransformCollector.java:27) ~[seatunnel-starter.jar:2.3.3] at org.apache.seatunnel.engine.server.task.group.queue.IntermediateBlockingQueue.handleRecord(IntermediateBlockingQueue.java:76) [seatunnel-starter.jar:2.3.3] at org.apache.seatunnel.engine.server.task.group.queue.IntermediateBlockingQueue.collect(IntermediateBlockingQueue.java:51) [seatunnel-starter.jar:2.3.3] at org.apache.seatunnel.engine.server.task.flow.IntermediateQueueFlowLifeCycle.collect(IntermediateQueueFlowLifeCycle.java:52) [seatunnel-starter.jar:2.3.3] at org.apache.seatunnel.engine.server.task.TransformSeaTunnelTask.collect(TransformSeaTunnelTask.java:73) [seatunnel-starter.jar:2.3.3] at org.apache.seatunnel.engine.server.task.SeaTunnelTask.stateProcess(SeaTunnelTask.java:168) [seatunnel-starter.jar:2.3.3] at org.apache.seatunnel.engine.server.task.TransformSeaTunnelTask.call(TransformSeaTunnelTask.java:78) [seatunnel-starter.jar:2.3.3] at org.apache.seatunnel.engine.server.TaskExecutionService$BlockingWorker.run(TaskExecutionService.java:613) [seatunnel-starter.jar:2.3.3] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?] at java.lang.Thread.run(Thread.java:833) [?:?] Caused by: org.postgresql.util.PSQLException: 错误: 未实现跨数据库关联: "plm80target2024.public.partver" 位置:13 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2725) ~[postgresql-42.7.3.jar:42.7.3] at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2412) ~[postgresql-42.7.3.jar:42.7.3] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:371) ~[postgresql-42.7.3.jar:42.7.3] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:329) ~[postgresql-42.7.3.jar:42.7.3] at org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:893) ~[postgresql-42.7.3.jar:42.7.3] ... 26 more ``` ### Zeta or Flink or Spark Version zeta ### Java or Scala Version jdk 1.8 ### Screenshots _No response_ ### Are you willing to submit PR? - [X] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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]
