seatunnel icon indicating copy to clipboard operation
seatunnel copied to clipboard

ErrorCode:[API-06], ErrorDescription:[Factory initialize failed] - Unable to create a sink for identifier 'JdbcCommon'.

Open sandyustc opened this issue 6 months ago • 1 comments

Search before asking

  • [x] I had searched in the issues and found no similar issues.

What happened

{

"status": "fail",

"message": "ErrorCode:[API-06], ErrorDescription:[Factory initialize failed] - Unable to create a sink for identifier 'JdbcCommon'."

}

SeaTunnel Version

seatunnet 2.3.11

SeaTunnel Config

{
	"env":{
		"parallelism":1,
		"job.mode":"batch",
		"checkpoint.interval":10000
	},
	"source":[
		{
			"plugin_name":"jdbc",
			"url":"jdbc:oracle:thin:@2xx.120.11.166:1521:xxg",
			"driver":"oracle.jdbc.OracleDriver",
			"connection_check_timeout_sec":1000,
			"user":"windchill12",
			"password":"windchill12",
			"query":"select * from  xxxxg",
			"partition_column":"IDA2A2",
			"split.size":10000
		}
	],
	"transform":[
		{
			"plugin_name":"FieldMapper",
			"source_table_name":"DATAFORMAT",
			"result_talbe_name":"xxxxg",
			"field_mapper":{
				"IDA2A2":"oldid",
				"CLASSNAMEA2A2":"id",
				"MODIFYSTAMPA2":"mtime",
				"CREATESTAMPA2":"ctime"
			}
		}
	],
	"sink":[
		{
			"plugin_name":"JdbcCommon",
			"url":"jdbc:postgresql://202.120.11.165:5432/postgres02",
			"driver":"org.postgresql.Driver",
			"user":"postgres",
			"password":"xxxgs",
			"generate_sink_sql":true,
			"database":"postgres02",
			"table":"public.datafomatextend",
			"primary_keys":[
				"oldid"
			]
		}
	]
}

Running Command

rest-api

Error Exception

] 2025-06-18 20:25:31,920 WARN  org.apache.seatunnel.engine.server.log.Log4j2HttpPostCommandProcessor - [localhost]:5801 [seatunnel] [5.1] An error occurred while handling request HttpCommand [HTTP_POST]{uri='/hazelcast/rest/maps/submit-job?jobId=59&jobName=66&isStartWithSavePoint=false85'}AbstractTextCommand[HTTP_POST]{requestId=1}
org.apache.seatunnel.api.table.factory.FactoryException: ErrorCode:[API-06], ErrorDescription:[Factory initialize failed] - Unable to create a sink for identifier 'JdbcCommon'.
	at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSink(FactoryUtil.java:249) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.createSinkAction(MultipleTableJobConfigParser.java:669) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseSink(MultipleTableJobConfigParser.java:592) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:240) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.server.rest.RestJobExecutionEnvironment.getLogicalDag(RestJobExecutionEnvironment.java:86) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.server.rest.RestJobExecutionEnvironment.build(RestJobExecutionEnvironment.java:123) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.server.rest.service.BaseService.submitJobInternal(BaseService.java:500) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.server.rest.service.JobInfoService.submitJob(JobInfoService.java:173) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.server.rest.RestHttpPostCommandProcessor.handleSubmitJob(RestHttpPostCommandProcessor.java:114) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.server.rest.RestHttpPostCommandProcessor.handle(RestHttpPostCommandProcessor.java:82) [seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.server.rest.RestHttpPostCommandProcessor.handle(RestHttpPostCommandProcessor.java:44) [seatunnel-starter.jar:2.3.11]
	at com.hazelcast.internal.ascii.TextCommandServiceImpl$CommandExecutor.run(TextCommandServiceImpl.java:402) [seatunnel-starter.jar:2.3.11]
	at com.hazelcast.internal.util.executor.CachedExecutorServiceDelegate$Worker.run(CachedExecutorServiceDelegate.java:217) [seatunnel-starter.jar:2.3.11]
	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) [?:?]
	at com.hazelcast.internal.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76) [seatunnel-starter.jar:2.3.11]
	at com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:102) [seatunnel-starter.jar:2.3.11]
Caused by: java.lang.RuntimeException: Plugin PluginIdentifier{engineType='seatunnel', pluginType='sink', pluginName='JdbcCommon'} not found.
	at org.apache.seatunnel.plugin.discovery.AbstractPluginDiscovery.createPluginInstance(AbstractPluginDiscovery.java:242) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.plugin.discovery.AbstractPluginDiscovery.createPluginInstance(AbstractPluginDiscovery.java:182) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.lambda$createSinkAction$7(MultipleTableJobConfigParser.java:665) ~[seatunnel-starter.jar:2.3.11]
	at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSink(FactoryUtil.java:217) ~[seatunnel-starter.jar:2.3.11]
	... 17 more

Zeta or Flink or Spark Version

zeta

Java or Scala Version

java 1.8

Screenshots

No response

Are you willing to submit PR?

  • [x] Yes I am willing to submit a PR!

Code of Conduct

sandyustc avatar Jun 18 '25 12:06 sandyustc

The JdbcCommon plugin was written by myself.

sandyustc avatar Jun 18 '25 12:06 sandyustc

This issue has been automatically marked as stale because it has not had recent activity for 30 days. It will be closed in next 7 days if no further activity occurs.

github-actions[bot] avatar Jul 19 '25 00:07 github-actions[bot]

This issue has been closed because it has not received response for too long time. You could reopen it if you encountered similar problems in the future.

github-actions[bot] avatar Jul 27 '25 00:07 github-actions[bot]