patsxy opened a new issue, #5158: URL: https://github.com/apache/seatunnel/issues/5158
### 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 partition_column and schema cannot be used simultaneously. It will result in the following error: Caused by: org.apache.seatunnel.api.table.factory.FactoryException: ErrorCode:[API-06], ErrorDescription:[Factory initialize failed] - Unable to create a source for identifier 'Jdbc'. ### SeaTunnel Version 2.3.2 ### SeaTunnel Config ```conf { transform { Sql { schema = { fields { "code"="string" "id"="bigint"} } "query"="select id, concat(code, '_') as code from t_clear1 where id>0" "source_table_name"="t_clear1" "result_table_name"="aa" "plugin_name"="Sql"} } sink { Jdbc {"password"="zysoft" "driver"="com.mysql.cj.jdbc.Driver" "query"="insert into aa(id,code) values(?,?)" "plugin_name"="Jdbc" "user"="root" "url"="jdbc:mysql://192.168.1.124:51382/aa?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf8&useSSL=false&useTimezone=true&serverTimezone=GMT%2B8" primary_keys = ["id"] } } source { Jdbc { schema = { fields { "code"="string" "id"="bigint"} } "connection_check_timeout_se"=100 "password"="zysoft" "driver"="com.mysql.cj.jdbc.Driver" "query"="select * from t_clear1" "plugin_name"="Jdbc" "user"="root" "url"="jdbc:mysql://192.168.1.124:51382/aa?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf8&useSSL=false&useTimezone=true&serverTimezone=GMT%2B8" "partition_num"=1 parallelism = 1 is_exactly_once = "true" xa_data_source_class_name = "com.mysql.cj.jdbc.MysqlXADataSource" primary_keys = ["id"] partition_column="id" } } env { "job.mode"="BATCH" execution.parallelism = 1 } } ``` ### Running Command ```shell bin/seatunnel.sh --config job/test-hocon5.conf -e local ``` ### Error Exception ```log 2023-07-26 13:37:41,811 WARN com.hazelcast.spi.impl.operationservice.impl.Invocation - [localhost]:5801 [seatunnel-335030] [5.1] Future.complete(Object) on completed future. Request: Invocation{op=com.hazelcast.map.impl.query.QueryOperation{serviceName='hz:impl:mapService', identityHash=1599156549, partitionId=-1, replicaIndex=0, callId=-3, invocationTime=1690349861791 (2023-07-26 13:37:41.791), waitTimeout=-1, callTimeout=60000, tenantControl=com.hazelcast.spi.impl.tenantcontrol.NoopTenantControl@0, name=engine_runningJobInfo}, tryCount=20, tryPauseMillis=500, invokeCount=1, callTimeoutMillis=60000, firstInvocationTimeMs=1690349861790, firstInvocationTime='2023-07-26 13:37:41.790', lastHeartbeatMillis=0, lastHeartbeatTime='1970-01-01 08:00:00.000', target=[localhost]:5801, pendingResponse={VOID}, backupsAcksExpected=-1, backupsAcksReceived=0, connection=null}, current value: ExceptionalResult{cause=com.hazelcast.core.HazelcastInstanceNotActiveException: Hazelcast instance is not active!}, offered value: com.hazelcast.map.impl.query.QueryResult@32062130 java.lang.Exception: null at com.hazelcast.spi.impl.AbstractInvocationFuture.warnIfSuspiciousDoubleCompletion(AbstractInvocationFuture.java:1253) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.AbstractInvocationFuture.complete0(AbstractInvocationFuture.java:1230) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.AbstractInvocationFuture.complete(AbstractInvocationFuture.java:1219) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.impl.Invocation.complete(Invocation.java:673) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.impl.Invocation.sendResponse(Invocation.java:236) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.Operation.sendResponse(Operation.java:483) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.call(OperationRunnerImpl.java:283) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:248) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:213) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.run(OperationExecutorImpl.java:411) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.runOrExecute(OperationExecutorImpl.java:438) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvokeLocal(Invocation.java:601) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:580) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke0(Invocation.java:541) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke(Invocation.java:241) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.spi.impl.operationservice.impl.OperationServiceImpl.invokeOnTarget(OperationServiceImpl.java:365) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.query.QueryEngineImpl.dispatchFullQueryOnAllMembersOnQueryThread(QueryEngineImpl.java:315) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.query.QueryEngineImpl.dispatchFullQueryOnQueryThread(QueryEngineImpl.java:284) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.query.QueryEngineImpl.dispatchOnQueryThreads(QueryEngineImpl.java:171) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.query.QueryEngineImpl.doRunOnQueryThreads(QueryEngineImpl.java:164) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.query.QueryEngineImpl.runOnGivenPartitions(QueryEngineImpl.java:141) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.query.QueryEngineImpl.execute(QueryEngineImpl.java:109) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.proxy.MapProxySupport.executeQueryInternal(MapProxySupport.java:1415) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.proxy.MapProxySupport.executeQueryInternal(MapProxySupport.java:1383) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.proxy.MapProxyImpl.executePredicate(MapProxyImpl.java:796) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.proxy.MapProxyImpl.entrySet(MapProxyImpl.java:745) ~[seatunnel-starter.jar:2.3.2] at com.hazelcast.map.impl.proxy.MapProxyImpl.entrySet(MapProxyImpl.java:739) ~[seatunnel-starter.jar:2.3.2] at org.apache.seatunnel.engine.server.CoordinatorService.initCoordinatorService(CoordinatorService.java:215) ~[seatunnel-starter.jar:2.3.2] at org.apache.seatunnel.engine.server.CoordinatorService.checkNewActiveMaster(CoordinatorService.java:368) ~[seatunnel-starter.jar:2.3.2] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?] 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) [?:?] 2023-07-26 13:37:41,870 ERROR org.apache.seatunnel.engine.server.CoordinatorService - [localhost]:5801 [seatunnel-335030] [5.1] com.hazelcast.core.HazelcastInstanceNotActiveException: Hazelcast instance is not active! at com.hazelcast.spi.impl.operationservice.impl.InvocationRegistry.register(InvocationRegistry.java:140) at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:570) at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke0(Invocation.java:541) at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke(Invocation.java:241) at com.hazelcast.spi.impl.operationservice.impl.OperationServiceImpl.invokeOnPartition(OperationServiceImpl.java:330) at com.hazelcast.map.impl.query.QueryEngineImpl.dispatchPartitionScanQueryOnOwnerMemberOnPartitionThread(QueryEngineImpl.java:341) at com.hazelcast.map.impl.query.QueryEngineImpl.lambda$dispatchPartitionScanQueryOnOwnerMemberOnPartitionThread$1(QueryEngineImpl.java:333) at java.base/java.util.PrimitiveIterator$OfInt.forEachRemaining(PrimitiveIterator.java:116) at com.hazelcast.map.impl.query.QueryEngineImpl.dispatchPartitionScanQueryOnOwnerMemberOnPartitionThread(QueryEngineImpl.java:332) at com.hazelcast.map.impl.query.QueryEngineImpl.doRunOnPartitionThreads(QueryEngineImpl.java:198) at com.hazelcast.map.impl.query.QueryEngineImpl.runOnGivenPartitions(QueryEngineImpl.java:144) at com.hazelcast.map.impl.query.QueryEngineImpl.execute(QueryEngineImpl.java:109) at com.hazelcast.map.impl.proxy.MapProxySupport.executeQueryInternal(MapProxySupport.java:1415) at com.hazelcast.map.impl.proxy.MapProxySupport.executeQueryInternal(MapProxySupport.java:1383) at com.hazelcast.map.impl.proxy.MapProxyImpl.executePredicate(MapProxyImpl.java:796) at com.hazelcast.map.impl.proxy.MapProxyImpl.entrySet(MapProxyImpl.java:745) at com.hazelcast.map.impl.proxy.MapProxyImpl.entrySet(MapProxyImpl.java:739) at org.apache.seatunnel.engine.server.CoordinatorService.initCoordinatorService(CoordinatorService.java:215) at org.apache.seatunnel.engine.server.CoordinatorService.checkNewActiveMaster(CoordinatorService.java:368) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) 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) at ------ submitted from ------.() at com.hazelcast.internal.util.ExceptionUtil.cloneExceptionWithFixedAsyncStackTrace(ExceptionUtil.java:336) at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.returnOrThrowWithGetConventions(InvocationFuture.java:112) at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrowIfException(InvocationFuture.java:100) at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:609) at com.hazelcast.map.impl.query.QueryEngineImpl.addResultsOfPredicate(QueryEngineImpl.java:214) at com.hazelcast.map.impl.query.QueryEngineImpl.doRunOnPartitionThreads(QueryEngineImpl.java:200) at com.hazelcast.map.impl.query.QueryEngineImpl.runOnGivenPartitions(QueryEngineImpl.java:144) at com.hazelcast.map.impl.query.QueryEngineImpl.execute(QueryEngineImpl.java:109) at com.hazelcast.map.impl.proxy.MapProxySupport.executeQueryInternal(MapProxySupport.java:1415) at com.hazelcast.map.impl.proxy.MapProxySupport.executeQueryInternal(MapProxySupport.java:1383) at com.hazelcast.map.impl.proxy.MapProxyImpl.executePredicate(MapProxyImpl.java:796) at com.hazelcast.map.impl.proxy.MapProxyImpl.entrySet(MapProxyImpl.java:745) at com.hazelcast.map.impl.proxy.MapProxyImpl.entrySet(MapProxyImpl.java:739) at org.apache.seatunnel.engine.server.CoordinatorService.initCoordinatorService(CoordinatorService.java:215) at org.apache.seatunnel.engine.server.CoordinatorService.checkNewActiveMaster(CoordinatorService.java:368) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) 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) 2023-07-26 13:37:44,829 INFO com.hazelcast.instance.impl.NodeExtension - [localhost]:5801 [seatunnel-335030] [5.1] Destroying node NodeExtension. 2023-07-26 13:37:44,830 INFO com.hazelcast.instance.impl.Node - [localhost]:5801 [seatunnel-335030] [5.1] Hazelcast Shutdown is completed in 3041 ms. 2023-07-26 13:37:44,831 INFO com.hazelcast.core.LifecycleService - [localhost]:5801 [seatunnel-335030] [5.1] [localhost]:5801 is SHUTDOWN 2023-07-26 13:37:44,831 INFO org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand - Closed HazelcastInstance ...... 2023-07-26 13:37:44,831 ERROR org.apache.seatunnel.core.starter.SeaTunnel - =============================================================================== 2023-07-26 13:37:44,831 ERROR org.apache.seatunnel.core.starter.SeaTunnel - Fatal Error, 2023-07-26 13:37:44,831 ERROR org.apache.seatunnel.core.starter.SeaTunnel - Please submit bug report in https://github.com/apache/seatunnel/issues 2023-07-26 13:37:44,832 ERROR org.apache.seatunnel.core.starter.SeaTunnel - Reason:SeaTunnel job executed failed 2023-07-26 13:37:44,834 ERROR org.apache.seatunnel.core.starter.SeaTunnel - Exception StackTrace:org.apache.seatunnel.core.starter.exception.CommandExecuteException: SeaTunnel job executed failed at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:188) at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40) at org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:34) Caused by: org.apache.seatunnel.api.table.factory.FactoryException: ErrorCode:[API-06], ErrorDescription:[Factory initialize failed] - Unable to create a source for identifier 'Jdbc'. at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:105) at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseSource(MultipleTableJobConfigParser.java:310) at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:159) at org.apache.seatunnel.engine.client.job.JobExecutionEnvironment.getLogicalDag(JobExecutionEnvironment.java:155) at org.apache.seatunnel.engine.client.job.JobExecutionEnvironment.execute(JobExecutionEnvironment.java:147) at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:140) ... 2 more Caused by: java.lang.NullPointerException: Cannot invoke "java.sql.Connection.createStatement()" because "connection" is null at org.apache.seatunnel.connectors.seatunnel.jdbc.source.JdbcSourceFactory.createPartitionParameter(JdbcSourceFactory.java:149) at org.apache.seatunnel.connectors.seatunnel.jdbc.source.JdbcSourceFactory.createPartitionParameter(JdbcSourceFactory.java:128) at org.apache.seatunnel.connectors.seatunnel.jdbc.source.JdbcSourceFactory.createSource(JdbcSourceFactory.java:88) at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:119) at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:97) ... 7 more 2023-07-26 13:37:44,835 ERROR org.apache.seatunnel.core.starter.SeaTunnel - =============================================================================== Exception in thread "main" org.apache.seatunnel.core.starter.exception.CommandExecuteException: SeaTunnel job executed failed at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:188) at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40) at org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:34) Caused by: org.apache.seatunnel.api.table.factory.FactoryException: ErrorCode:[API-06], ErrorDescription:[Factory initialize failed] - Unable to create a source for identifier 'Jdbc'. at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:105) at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseSource(MultipleTableJobConfigParser.java:310) at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:159) at org.apache.seatunnel.engine.client.job.JobExecutionEnvironment.getLogicalDag(JobExecutionEnvironment.java:155) at org.apache.seatunnel.engine.client.job.JobExecutionEnvironment.execute(JobExecutionEnvironment.java:147) at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:140) ... 2 more Caused by: java.lang.NullPointerException: Cannot invoke "java.sql.Connection.createStatement()" because "connection" is null at org.apache.seatunnel.connectors.seatunnel.jdbc.source.JdbcSourceFactory.createPartitionParameter(JdbcSourceFactory.java:149) at org.apache.seatunnel.connectors.seatunnel.jdbc.source.JdbcSourceFactory.createPartitionParameter(JdbcSourceFactory.java:128) at org.apache.seatunnel.connectors.seatunnel.jdbc.source.JdbcSourceFactory.createSource(JdbcSourceFactory.java:88) at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:119) at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:97) ... 7 more ``` ### Flink or Spark Version flink 1.16.1 but not use ### Java or Scala Version java 17.0.8 ### Screenshots  ### 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]
