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

   ### 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
   
   Oracle DDL
   ```sql
   create table TEST
   (
       ID   NVARCHAR2(32),
       NAME NVARCHAR2(32)
   );
   ```
   Clickhouse DDL
   ```sql
   create table test
   (
       id   String,
       name String
   )
       engine = MergeTree order by id;
   ```
   Source Oracle-CDC to Sink Clickhouse , Run error.
   ```
   2024-12-18 15:37:40,446 ERROR [.s.e.s.c.CheckpointCoordinator] 
[hz.main.generic-operation.thread-15] - report error from task
   org.apache.seatunnel.common.utils.SeaTunnelException: 
java.lang.ArrayIndexOutOfBoundsException: -1
        at 
org.apache.seatunnel.api.table.type.SeaTunnelRowType.getFieldType(SeaTunnelRowType.java:73)
   ```
   Source Oracle to Sink Clickhouse , Run is ok.
   
   ### SeaTunnel Version
   
   2.3.8
   
   ### SeaTunnel Config
   
   ```conf
   env {
     parallelism = 1
     job.mode = "STREAMING"
   }
   
   
   source {
     Oracle-CDC {
       result_table_name = "customers"
       base-url = "jdbc:oracle:thin:@192.168.1.70:1521:orcl"
       source.reader.close.timeout = 120000
       username = "system"
       password = "oracle"
       database-names = ["ORCL"]
       schema-names = ["TMS_USER"]
       table-names = ["ORCL.TMS_USER.TEST"]
       table-names-config = [
         {
           table = "ORCL.TMS_USER.TEST"
           primaryKeys = ["ID"]
         }
       ]
     }
   }
   
   sink {
     Clickhouse {
       host = "192.168.0.24:8123"
       database = "default"
       table = "test"
       username = "admin"
       password = "admin"
   
       # cdc options
       primary_key = "id"
       support_upsert = true
       allow_experimental_lightweight_delete = true
     }
   }
   ```
   
   
   ### Running Command
   
   ```shell
   ./bin/seatunnel.sh -c streaming.oracle2clickhouse.conf -m local
   ```
   
   
   ### Error Exception
   
   ```log
   2024-12-18 15:37:40,446 ERROR [.s.e.s.c.CheckpointCoordinator] 
[hz.main.generic-operation.thread-15] - report error from task
   org.apache.seatunnel.common.utils.SeaTunnelException: 
java.lang.ArrayIndexOutOfBoundsException: -1
        at 
org.apache.seatunnel.api.table.type.SeaTunnelRowType.getFieldType(SeaTunnelRowType.java:73)
        at java.util.stream.IntPipeline$4$1.accept(IntPipeline.java:250)
        at 
java.util.Spliterators$IntArraySpliterator.forEachRemaining(Spliterators.java:1032)
        at java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:693)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
        at 
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:546)
        at 
java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
        at 
java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:505)
        at 
org.apache.seatunnel.connectors.seatunnel.clickhouse.sink.client.executor.JdbcBatchStatementExecutorBuilder.getKeyTypes(JdbcBatchStatementExecutorBuilder.java:248)
        at 
org.apache.seatunnel.connectors.seatunnel.clickhouse.sink.client.executor.JdbcBatchStatementExecutorBuilder.build(JdbcBatchStatementExecutorBuilder.java:82)
        at 
org.apache.seatunnel.connectors.seatunnel.clickhouse.sink.client.ClickhouseSinkWriter.lambda$initStatementMap$2(ClickhouseSinkWriter.java:188)
        at java.util.TreeMap.forEach(TreeMap.java:1005)
        at 
org.apache.seatunnel.connectors.seatunnel.clickhouse.sink.client.ClickhouseSinkWriter.initStatementMap(ClickhouseSinkWriter.java:159)
        at 
org.apache.seatunnel.connectors.seatunnel.clickhouse.sink.client.ClickhouseSinkWriter.<init>(ClickhouseSinkWriter.java:64)
        at 
org.apache.seatunnel.connectors.seatunnel.clickhouse.sink.client.ClickhouseSink.createWriter(ClickhouseSink.java:229)
        at 
org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.restoreState(SinkFlowLifeCycle.java:293)
        at 
org.apache.seatunnel.engine.server.task.SeaTunnelTask.lambda$restoreState$16(SeaTunnelTask.java:426)
        at 
java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at 
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
        at 
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
        at 
java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
        at 
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
        at 
java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at 
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at 
java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
        at 
org.apache.seatunnel.engine.server.task.SeaTunnelTask.restoreState(SeaTunnelTask.java:423)
        at 
org.apache.seatunnel.engine.server.checkpoint.operation.NotifyTaskRestoreOperation.lambda$runInternal$0(NotifyTaskRestoreOperation.java:107)
        at 
java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640)
        at org.apache.seatunnel.api.tracing.MDCRunnable.run(MDCRunnable.java:39)
        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:750)
   
        at 
org.apache.seatunnel.engine.server.checkpoint.CheckpointCoordinator.reportCheckpointErrorFromTask(CheckpointCoordinator.java:390)
 [seatunnel-starter.jar:2.3.8]
        at 
org.apache.seatunnel.engine.server.checkpoint.CheckpointManager.reportCheckpointErrorFromTask(CheckpointManager.java:184)
 [seatunnel-starter.jar:2.3.8]
        at 
org.apache.seatunnel.engine.server.checkpoint.operation.CheckpointErrorReportOperation.runInternal(CheckpointErrorReportOperation.java:48)
 [seatunnel-starter.jar:2.3.8]
        at 
org.apache.seatunnel.engine.server.task.operation.TracingOperation.run(TracingOperation.java:44)
 [seatunnel-starter.jar:2.3.8]
        at 
com.hazelcast.spi.impl.operationservice.Operation.call(Operation.java:189) 
[seatunnel-starter.jar:2.3.8]
        at 
com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.call(OperationRunnerImpl.java:273)
 [seatunnel-starter.jar:2.3.8]
        at 
com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:248)
 [seatunnel-starter.jar:2.3.8]
        at 
com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:213)
 [seatunnel-starter.jar:2.3.8]
        at 
com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:175)
 [seatunnel-starter.jar:2.3.8]
        at 
com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:139)
 [seatunnel-starter.jar:2.3.8]
        at 
com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.executeRun(OperationThread.java:123)
 [seatunnel-starter.jar:2.3.8]
        at 
com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:102)
 [seatunnel-starter.jar:2.3.8]
   ```
   
   
   ### Zeta or Flink or Spark Version
   
   Zeta
   
   ### Java or Scala Version
   
   ```
   openjdk version "1.8.0_432"
   OpenJDK Runtime Environment (build 1.8.0_432-8u432-ga~us1-0ubuntu2~22.04-ga)
   OpenJDK 64-Bit Server VM (build 25.432-bga, mixed mode)
   ```
   
   ### 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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to