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

   ### 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
   
   mysql-cdc to starrocks, we use startup-mode with specific, the binlog file 
and pos information is obtained by 'show master status' command in mysql client 
of slave node. The mysql config has binlog_expire_logs_seconds=2592000, then 
after fourteen hours,  error occured  "Cannot replicate because the source 
purged required binary logs"
   
   ### SeaTunnel Version
   
   2.3.9
   
   ### SeaTunnel Config
   
   ```conf
   env {
     execution.parallelism = 80
     job.mode = "STREAMING"
     checkpoint.interval = 15000
   }
   
   source {
     MySQL-CDC {
       username = "***"
       password = "***"
       hostname = ***
       base-url="jdbc:mysql://***"
       # 启动时同步历史数据,然后同步增量数据。
       startup.mode="specific"
       startup.specific-offset.file = "mysql-bin.013526"
       startup.specific-offset.pos = "587700460"
       snapshot.fetch.size = 30720
       snapshot.split.size = 242880
       catalog {
           factory=MySQL
       }
       table-names=[
                   "wind.*"
       ]
            database-names=[
           "wind"
       ]
   }
   }
   sink {
     StarRocks {
       nodeUrls = [***]
       base-url = "jdbc:mysql://***/"
       username = ***
       password = "***"
       database = "wind"
       max_retries = 3
       #table = ""
       batch_max_rows = 30720
       batch_max_bytes = 157286400
       enable_upsert_delete = true
       starrocks.config = {
         format = "JSON"
         strip_outer_array = true
       }
     }
   }
   ```
   
   ### Running Command
   
   ```shell
   sh bin/seatunnel.sh -c job/Mysql2Starrocks
   ```
   
   ### Error Exception
   
   ```log
   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:228)
        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.engine.common.exception.SeaTunnelEngineException: 
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:169)
        at 
org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.call(SourceSeaTunnelTask.java:132)
        at 
org.apache.seatunnel.engine.server.TaskExecutionService$BlockingWorker.run(TaskExecutionService.java:694)
        at 
org.apache.seatunnel.engine.server.TaskExecutionService$NamedTaskWrapper.run(TaskExecutionService.java:1019)
        at org.apache.seatunnel.api.tracing.MDCRunnable.run(MDCRunnable.java:43)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
   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.mysql.MySqlStreamingChangeEventSource$ReaderThreadLifecycleListener.onCommunicationFailure(MySqlStreamingChangeEventSource.java:1239)
        at 
com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1079)
        at 
com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:631)
        at 
com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:932)
        ... 1 more
   Caused by: io.debezium.DebeziumException: Cannot replicate because the 
source purged required binary logs. Replicate the missing transactions from 
elsewhere, or provision a new replica from backup. Consider increasing the 
source's binary log expiration period. The GTID set sent by the replica is 
'2e54cb7a-fbc8-11ee-80f9-b4055d193063:1-21,
   bd144043-d33b-11eb-8684-80615f09a1bc:38952437-38961148', and the missing 
transactions are 'bd144043-d33b-11eb-8684-80615f09a1bc:1-38823122' Error code: 
1236; SQLSTATE: HY000.
        at 
io.debezium.connector.mysql.MySqlStreamingChangeEventSource.wrap(MySqlStreamingChangeEventSource.java:1194)
        ... 5 more
   Caused by: com.github.shyiko.mysql.binlog.network.ServerException: Cannot 
replicate because the source purged required binary logs. Replicate the missing 
transactions from elsewhere, or provision a new replica from backup. Consider 
increasing the source's binary log expiration period. The GTID set sent by the 
replica is '2e54cb7a-fbc8-11ee-80f9-b4055d193063:1-21,
   bd144043-d33b-11eb-8684-80615f09a1bc:38952437-38961148', and the missing 
transactions are 'bd144043-d33b-11eb-8684-80615f09a1bc:1-38823122'
        at 
com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1043)
        ... 3 more
   
        at 
org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:220)
        ... 2 more
   2025-02-23 02:55:14,295 INFO  [s.c.s.s.c.ClientExecuteCommand] 
[SeaTunnel-CompletableFuture-Thread-0] - run shutdown hook because get close 
signal
   ```
   
   ### Zeta or Flink or Spark Version
   
   Zeta
   
   ### Java or Scala Version
   
   jdk1.8
   
   ### 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](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: commits-unsubscr...@seatunnel.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to