pinsisong opened a new issue, #10330:
URL: https://github.com/apache/seatunnel/issues/10330

   ### 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
   
   当提交一个任务时正常运行。增加一个新任务导致错误。
   
    One or more fetchers have encountered exception
   Caused by: java.sql.SQLException: ORA-18716: {0} 不在任何时区中。DATE
   
   ### SeaTunnel Version
   
   apache-seatunnel-2.3.12
   
   ### SeaTunnel Config
   
   ```conf
   env {
     parallelism = 3 #并行
     job.mode= "STREAMING"
     checkpoint.interval=10000
   
   }
   source{
     Oracle-CDC{
       plugin_name="Oracle-CDC"
       plugin_output = "customers"
       hostname = "193.111.99.20"
       port = 1521
       url="jdbc:oracle:thin:@193.111.99.20:1521/NC56"
       base-url="jdbc:oracle:thin:@193.111.99.49:1521/NC56"
       username= "logminer_user"
       password="oracle"
       database-names = ["NC56"]
       schema-names = ["NC5X"]
       table-names =  ["NC56.NC5X.IC_GENERAL_B","NC56.NC5X.IC_GENERAL_H"]
       startup.mode="initial"
      
       snapshot.split.size = 20000  # 增加每个分片的大小,减少分片数量
       snapshot.fetch.size = 5000   # 增加每次读取的行数
   
       connect.timeout.ms = 60000     # 增加连接超时时间
       connect.max-retries = 5        # 增加重试次数
       connection.pool.size = 10      # 根据数据库性能调整
   
       use_select_count = true    # 使用SELECT COUNT(*) 统计行数
       skip_analyze = true        # 跳过分析阶段,提升初始同步速度
       exactly_once = true        # 启用精确一次语义
       schema-changes.enabled = true
       source.reader.close.timeout = 120000
       debezium {
   
        database.oracle.jdbc.timezoneAsRegion = "false"
   
        max.batch.size = 2048
        max.queue.size = 16384           # 增加队列大小
        poll.interval.ms = 1000          # 轮询间隔
   
   
        snapshot.mode = "initial"
        snapshot.lock.timeout.ms = 120000  # 快照锁超时时间
   
       }
    }
   }
   sink{
     StarRocks{
       plugin_input = "customers"
       nodeUrls = ["193.111.99.51:8030"]
       base-url= "jdbc:mysql://193.111.99.51:9030/testdb"
       username="root"
       password= "123456"
       table = "${table_name}"
       database= "testdb"
       batch_max_rows = 50000
       max_retries=3
       batch_max_bytes=33554432
       http_socket_timeout_ms=180000
       generate_sink_sql = true
       enable_upsert_delete = true
       is_exactly_once = true
       schema_save_mode = "CREATE_SCHEMA_WHEN_NOT_EXIST"
       data_save_mode="APPEND_DATA"
   
       sink.parallelism = 3  # 与source并行度匹配
    }
   
   }
   
   
   env {
     parallelism = 3 #并行
     job.mode= "STREAMING"
     checkpoint.interval=10000
   
   }
   source{
     Oracle-CDC{
       plugin_name="Oracle-CDC"
       plugin_output = "customers"
       hostname = "193.111.99.20"
       port = 1521
       url="jdbc:oracle:thin:@193.111.99.20:1521/NC56"
       base-url="jdbc:oracle:thin:@193.111.99.49:1521/NC56"
       username= "logminer_user"
       password="oracle"
       database-names = ["NC56"]
       schema-names = ["NC5X"] #"NC56.NC5X.ARAP_DZTZ",
       table-names =  ["NC56.NC5X.ARAP_LCPZ"]
       startup.mode="initial"
      
       snapshot.split.size = 20000  # 增加每个分片的大小,减少分片数量
       snapshot.fetch.size = 5000   # 增加每次读取的行数
   
       connect.timeout.ms = 60000     # 增加连接超时时间
       connect.max-retries = 5        # 增加重试次数
       connection.pool.size = 10      # 根据数据库性能调整
   
   
       use_select_count = true    # 使用SELECT COUNT(*) 统计行数
       skip_analyze = true        # 跳过分析阶段,提升初始同步速度
       exactly_once = true        # 启用精确一次语义
       schema-changes.enabled = true
   
       source.reader.close.timeout = 120000
       debezium {
   
        database.oracle.jdbc.timezoneAsRegion = "false"
   
   
        max.batch.size = 2048
        max.queue.size = 16384           # 增加队列大小
        poll.interval.ms = 1000          # 轮询间隔
   
   
        snapshot.mode = "initial"
        snapshot.lock.timeout.ms = 120000  # 快照锁超时时间
   
       }
    }
   }
   sink{
     StarRocks{
       plugin_input = "customers"
       nodeUrls = ["193.111.99.51:8030"]
       base-url= "jdbc:mysql://193.111.99.51:9030/testdb"
       username="root"
       password= "123456"
       table = "${table_name}"
       database= "testdb"
       batch_max_rows = 50000
       max_retries=3
       batch_max_bytes=33554432
       http_socket_timeout_ms=180000
       generate_sink_sql = true
       enable_upsert_delete = true
       is_exactly_once = true
       schema_save_mode = "CREATE_SCHEMA_WHEN_NOT_EXIST"
       data_save_mode="APPEND_DATA"
   
       sink.parallelism = 3  # 与source并行度匹配
    }
   
   }
   ```
   
   ### Running Command
   
   ```shell
   ./bin/seatunnel.sh   --config ./config/oracle_to_starrocks_big.conf   
--master cluster   --name my_oracle_job --async
   ./bin/seatunnel.sh   --config ./config/oracle_to_starrocks_big2.conf   
--master cluster   --name my_oracle_job2 --async
   ```
   
   ### Error Exception
   
   ```log
   java.lang.RuntimeException: One or more fetchers have encountered exception
        at 
org.apache.seatunnel.connectors.seatunnel.common.source.reader.fetcher.SplitFetcherManager.checkErrors(SplitFetcherManager.java:147)
        at 
org.apache.seatunnel.connectors.seatunnel.common.source.reader.SourceReaderBase.getNextFetch(SourceReaderBase.java:167)
        at 
org.apache.seatunnel.connectors.seatunnel.common.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:93)
        at 
org.apache.seatunnel.connectors.cdc.base.source.reader.IncrementalSourceReader.pollNext(IncrementalSourceReader.java:119)
        at 
org.apache.seatunnel.engine.server.task.flow.SourceFlowLifeCycle.collect(SourceFlowLifeCycle.java:159)
        at 
org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.collect(SourceSeaTunnelTask.java:127)
        at 
org.apache.seatunnel.engine.server.task.SeaTunnelTask.stateProcess(SeaTunnelTask.java:165)
        at 
org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.call(SourceSeaTunnelTask.java:132)
        at 
org.apache.seatunnel.engine.server.TaskExecutionService$BlockingWorker.run(TaskExecutionService.java:679)
        at 
org.apache.seatunnel.engine.server.TaskExecutionService$NamedTaskWrapper.run(TaskExecutionService.java:1008)
        at org.apache.seatunnel.api.tracing.MDCRunnable.run(MDCRunnable.java:43)
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)
   Caused by: java.lang.RuntimeException: SplitFetcher thread 0 received 
unexpected exception while polling the records
        at 
org.apache.seatunnel.connectors.seatunnel.common.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:165)
        at 
org.apache.seatunnel.connectors.seatunnel.common.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:81)
        ... 5 more
   Caused by: org.apache.kafka.connect.errors.ConnectException: An exception 
occurred in the change event producer. This connector will be stopped.
        at 
io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:50)
        at 
io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:267)
        at 
org.apache.seatunnel.connectors.seatunnel.cdc.oracle.source.reader.fetch.logminer.OracleRedoLogFetchTask$RedoLogSplitReadTask.execute(OracleRedoLogFetchTask.java:147)
        at 
org.apache.seatunnel.connectors.seatunnel.cdc.oracle.source.reader.fetch.logminer.OracleRedoLogFetchTask.execute(OracleRedoLogFetchTask.java:73)
        at 
org.apache.seatunnel.connectors.cdc.base.source.reader.external.IncrementalSourceStreamFetcher.lambda$submitTask$0(IncrementalSourceStreamFetcher.java:107)
        ... 5 more
   Caused by: java.sql.SQLException: ORA-18716: {0} 不在任何时区中。DATE
   https://docs.oracle.com/error-help/db/ora-18716/
        at 
oracle.jdbc.driver.TimestampAccessor.getOffsetDateTime(TimestampAccessor.java:159)
        at oracle.jdbc.driver.Redirector$33.redirect(Redirector.java:842)
        at oracle.jdbc.driver.Redirector$33.redirect(Redirector.java:834)
        at oracle.jdbc.driver.Representation.getObject(Representation.java:605)
        at oracle.jdbc.driver.Accessor.getObject(Accessor.java:1077)
        at 
oracle.jdbc.driver.OracleStatement.getObject(OracleStatement.java:7461)
        at 
oracle.jdbc.driver.InsensitiveScrollableResultSet.getObject(InsensitiveScrollableResultSet.java:704)
        at 
io.debezium.connector.oracle.OracleConnection.lambda$getScnToTimestamp$16(OracleConnection.java:502)
        at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:642)
        at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:510)
        at 
io.debezium.connector.oracle.OracleConnection.getScnToTimestamp(OracleConnection.java:501)
        at 
io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.calculateEndScn(LogMinerStreamingChangeEventSource.java:805)
        at 
io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:203)
   ```
   
   ### Zeta or Flink or Spark Version
   
   _No response_
   
   ### Java or Scala Version
   
   _No response_
   
   ### 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]

Reply via email to