seatunnel
seatunnel copied to clipboard
[Bug] [API - submit-job fails] NoSuchMethodError
Search before asking
- [X] I had searched in the issues and found no similar issues.
What happened
23:04:28.406 [hz.main.cached.thread-4] WARN org.apache.seatunnel.engine.server.log.Log4j2HttpPostCommandProcessor - [10.141.0.82]:6801 [seatunnel-s] [5.1] An error occurred while handling request HttpCommand [HTTP_POST]{uri='/hazelcast/rest/maps/submit-job?jobName=Seatunnel_poc_batch_234-02&isStartWithSavePoint=0&jobId=676776'}AbstractTextCommand[HTTP_POST]{requestId=2} java.lang.NoSuchMethodError: 'org.apache.seatunnel.api.table.connector.TableSource org.apache.seatunnel.api.table.factory.TableSourceFactory.createSource(org.apache.seatunnel.api.table.factory.TableSourceFactoryContext)' at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.lambda$parseSource$4(MultipleTableJobConfigParser.java:311) at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.isFallback(MultipleTableJobConfigParser.java:276) at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseSource(MultipleTableJobConfigParser.java:307) at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:181) at org.apache.seatunnel.engine.server.rest.RestJobExecutionEnvironment.getLogicalDag(RestJobExecutionEnvironment.java:76) at org.apache.seatunnel.engine.server.rest.RestJobExecutionEnvironment.build(RestJobExecutionEnvironment.java:99) at org.apache.seatunnel.engine.server.rest.RestHttpPostCommandProcessor.handleSubmitJob(RestHttpPostCommandProcessor.java:136) at org.apache.seatunnel.engine.server.rest.RestHttpPostCommandProcessor.handle(RestHttpPostCommandProcessor.java:82) at org.apache.seatunnel.engine.server.rest.RestHttpPostCommandProcessor.handle(RestHttpPostCommandProcessor.java:60) at com.hazelcast.internal.ascii.TextCommandServiceImpl$CommandExecutor.run(TextCommandServiceImpl.java:402) at com.hazelcast.internal.util.executor.CachedExecutorServiceDelegate$Worker.run(CachedExecutorServiceDelegate.java:217) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) at com.hazelcast.internal.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76) at com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:102)
Request Body "env": { "execution.parallelism": 2, "job.mode": "BATCH", "job.name": "Seatunnel_poc_batch_234-02",
"checkpoint.interval": 10000
, "flink.execution.checkpointing.unaligned.enabled": true
, "flink.execution.checkpointing.mode": "EXACTLY_ONCE"
, "flink.execution.checkpointing.timeout": 600000
}
,"source": [
{
"result_table_name": "Sanity_source_1",
"plugin_name": "Jdbc",
"url": "jdbc:postgresql://<serverIP>:<port>/<dbname>?currentSchema=<schemaname>",
"driver": "org.postgresql.Driver",
"user": "<username>",
"password": "<password>",
"query": "select ...syntacticallyCorrectQuery limit 10"
}
],
"transform": [
{
"source_table_name": "Sanity_source_1",
"result_table_name": "Sanity_transform_1",
"plugin_name": "Copy",
"fields": {
"business_unit_copy": "business_unit",
"region_cleansed": "region"
}
},
{
"source_table_name": "Sanity_transform_1",
"result_table_name": "Sanity_transform_2",
"plugin_name": "Replace",
"replace_field": "region_cleansed",
"pattern": "&",
"replacement": "and"
},
{
"query": "SELECT ...syntacticallyCorrectSQLQuery",
"source_table_name": "Sanity_transform_2",
"result_table_name": "Sanity_transform_3",
"plugin_name": "Sql"
}
],
"sink": [
{
"source_table_name": "Sanity_transform_3",
"plugin_name": "Jdbc",
"url": "jdbc:postgresql://<serverIP>:<port>/<db_name>?currentSchema=<current_schema>",
"driver": "org.postgresql.Driver",
"user": "<userName>",
"password": "<password>",
"database": "<db_name>",
"table": "<table_name>",
"generate_sink_sql": true
},
{
"source_table_name": "Sanity_transform_3",
"plugin_name": "Console"
}
]
}
SeaTunnel Version
2.3.4
SeaTunnel Config
seatunnel.yaml
seatunnel:
engine:
history-job-expire-minutes: 1440
backup-count: 1
queue-type: blockingqueue
print-execution-info-interval: 60
print-job-metrics-info-interval: 60
slot-service:
dynamic-slot: true
checkpoint:
interval: 10000
timeout: 60000
storage:
type: hdfs
max-retained: 3
plugin-config:
namespace: /tmp/seatunnel/checkpoint_snapshot
storage.type: hdfs
fs.defaultFS: file:///tmp/ # Ensure that the directory has written permission
Running Command
http://<seatunnel_api_server>:<port>/hazelcast/rest/maps/submit-job?jobName=Seatunnel_poc_batch_234-02&isStartWithSavePoint=0&jobId=676776
Params:
jobName:Seatunnel_poc_batch_234-02
isStartWithSavePoint:0
jobId:676776
RequestBody: as mentioned earlier
Error Exception
As mentioned earlier
Zeta or Flink or Spark Version
No response
Java or Scala Version
openjdk 11.0.18 2023-01-17 LTS OpenJDK Runtime Environment (Red_Hat-11.0.18.0.10-3.el9) (build 11.0.18+10-LTS) OpenJDK 64-Bit Server VM (Red_Hat-11.0.18.0.10-3.el9) (build 11.0.18+10-LTS, mixed mode, sharing)
Screenshots
No response
Are you willing to submit PR?
- [ ] Yes I am willing to submit a PR!
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
We tried multiple configurations and settings, but in vain. This issue still exist. Any suggestions from Seatunnel team would be greatly appreciated. Thank you.
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.
Are you using the official package or recompiled one yourself?