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

   ### 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
   
   When `field_ide : LOWERCASE` is configured in sink, Schema evolution remains 
in uppercase
   
   ### SeaTunnel Version
   
   2.3.9
   
   ### SeaTunnel Config
   
   ```conf
   {
       "env" : {
           "parallelism" : 1,
           "job.mode" : "streaming",
           "job.name" : "oracle_to_pg_driver",
           "checkpoint.interval" : 10000
       },
       "source" : [
           {
               "plugin_output" : "driver",
               "source.reader.close.timeout" : 120000,
               "server-time-zone" : "Asia/Shanghai",
               "decimal_type_narrowing" : false,
               "schema-changes.enabled" : "true",
               "base-url" : "jdbc:oracle:thin:@192.168.1.70:1521:orcl",
               "username" : "system",
               "password" : "oracle",
               "database-names" : [
                   "ORCL"
               ],
               "schema-names" : [
                   "TMS_USER"
               ],
               "table-names" : [
                   "ORCL.TMS_USER.TMS_ASSET_DRIVER"
               ],
               "table-names-config" : [
                   {
                       "table" : "ORCL.TMS_USER.TMS_ASSET_DRIVER",
                       "primaryKeys" : [
                           "ID"
                       ]
                   }
               ],
               "plugin_name" : "Oracle-CDC"
           }
       ],
       "sink" : [
           {
               "plugin_input" : "driver",
               "url" : "jdbc:postgresql://192.168.0.13:5432/tms",
               "driver" : "org.postgresql.Driver",
               "user" : "postgres",
               "password" : "123456",
               "generate_sink_sql" : true,
               "database" : "tms",
               "table" : "public.${table_name}",
               "primary_keys" : [
                   "${primary_key}"
               ],
               "field_ide" : "LOWERCASE",
               "plugin_name" : "jdbc"
           }
       ]
   }
   ```
   
   ### Running Command
   
   ```shell
   /submit-job
   ```
   
   ### Error Exception
   
   ```log
   2025-03-31 14:06:38,912 INFO  [.s.e.s.t.f.SourceFlowLifeCycle] 
[hz.main.generic-operation.thread-48] - notify schema-change checkpoint[30] 
end, phase: [SCHEMA-CHANGE-BEFORE]
   2025-03-31 14:06:39,107 INFO  [o.a.k.c.j.JsonConverterConfig ] 
[BlockingWorker-TaskGroupLocation{jobId=958969289480601601, pipelineId=1, 
taskGroupId=2}] - JsonConverterConfig values: 
        converter.type = value
        decimal.format = BASE64
        schemas.cache.size = 1000
        schemas.enable = true
   
   2025-03-31 14:06:39,108 INFO  [e.s.t.SeaTunnelSourceCollector] 
[BlockingWorker-TaskGroupLocation{jobId=958969289480601601, pipelineId=1, 
taskGroupId=2}] - mark schema-change-after checkpoint signal.
   2025-03-31 14:06:39,108 INFO  [a.s.a.s.m.MultiTableSinkWriter] 
[BlockingWorker-TaskGroupLocation{jobId=958969289480601601, pipelineId=1, 
taskGroupId=2}] - Start apply schema change for table 
ORCL.TMS_USER.TMS_ASSET_DRIVER sub-writer 0
   2025-03-31 14:06:39,133 INFO  [.s.c.s.j.i.d.p.PostgresDialect] 
[BlockingWorker-TaskGroupLocation{jobId=958969289480601601, pipelineId=1, 
taskGroupId=2}] - Executing DDL SQL: ALTER TABLE 
"tms"."public"."TMS_ASSET_DRIVER" ADD "test1" varchar(128) NULL
   2025-03-31 14:06:39,135 WARN  [o.a.s.e.s.TaskExecutionService] 
[BlockingWorker-TaskGroupLocation{jobId=958969289480601601, pipelineId=1, 
taskGroupId=2}] - [localhost]:5801 [seatunnel] [5.1] Exception in 
org.apache.seatunnel.engine.server.task.TransformSeaTunnelTask@58565113
   java.lang.RuntimeException: 
org.apache.seatunnel.connectors.seatunnel.jdbc.exception.JdbcConnectorException:
 ErrorCode:[JDBC-11], ErrorDescription:[Refresh the table with schema change 
failed]
        at 
org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.received(SinkFlowLifeCycle.java:302)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.received(SinkFlowLifeCycle.java:70)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.SeaTunnelTransformCollector.collect(SeaTunnelTransformCollector.java:39)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.SeaTunnelTransformCollector.collect(SeaTunnelTransformCollector.java:27)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.group.queue.IntermediateBlockingQueue.handleRecord(IntermediateBlockingQueue.java:75)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.group.queue.IntermediateBlockingQueue.collect(IntermediateBlockingQueue.java:50)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.flow.IntermediateQueueFlowLifeCycle.collect(IntermediateQueueFlowLifeCycle.java:51)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.TransformSeaTunnelTask.collect(TransformSeaTunnelTask.java:72)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.SeaTunnelTask.stateProcess(SeaTunnelTask.java:169)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.TransformSeaTunnelTask.call(TransformSeaTunnelTask.java:77)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.TaskExecutionService$BlockingWorker.run(TaskExecutionService.java:694)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.TaskExecutionService$NamedTaskWrapper.run(TaskExecutionService.java:1019)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.api.tracing.MDCRunnable.run(MDCRunnable.java:43) 
~[seatunnel-starter.jar:2.3.10]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
~[?:1.8.0_442]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
~[?:1.8.0_442]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
~[?:1.8.0_442]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
~[?:1.8.0_442]
        at java.lang.Thread.run(Thread.java:750) [?:1.8.0_442]
   Caused by: 
org.apache.seatunnel.connectors.seatunnel.jdbc.exception.JdbcConnectorException:
 ErrorCode:[JDBC-11], ErrorDescription:[Refresh the table with schema change 
failed]
        at 
org.apache.seatunnel.connectors.seatunnel.jdbc.sink.AbstractJdbcSinkWriter.reOpenOutputFormat(AbstractJdbcSinkWriter.java:75)
 ~[?:?]
        at 
org.apache.seatunnel.connectors.seatunnel.jdbc.sink.AbstractJdbcSinkWriter.applySchemaChange(AbstractJdbcSinkWriter.java:64)
 ~[?:?]
        at 
org.apache.seatunnel.api.sink.multitablesink.MultiTableSinkWriter.applySchemaChange(MultiTableSinkWriter.java:163)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.received(SinkFlowLifeCycle.java:258)
 ~[seatunnel-starter.jar:2.3.10]
        ... 17 more
   Caused by: org.postgresql.util.PSQLException: ERROR: relation 
"public.TMS_ASSET_DRIVER" does not exist
        at 
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2725)
 ~[postgresql-42.7.3.jar:42.7.3]
        at 
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2412)
 ~[postgresql-42.7.3.jar:42.7.3]
        at 
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:371) 
~[postgresql-42.7.3.jar:42.7.3]
        at 
org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:502) 
~[postgresql-42.7.3.jar:42.7.3]
        at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:419) 
~[postgresql-42.7.3.jar:42.7.3]
        at 
org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:341) 
~[postgresql-42.7.3.jar:42.7.3]
        at 
org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:326) 
~[postgresql-42.7.3.jar:42.7.3]
        at 
org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:302) 
~[postgresql-42.7.3.jar:42.7.3]
        at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:297) 
~[postgresql-42.7.3.jar:42.7.3]
        at 
org.apache.seatunnel.connectors.seatunnel.jdbc.internal.dialect.psql.PostgresDialect.executeDDL(PostgresDialect.java:348)
 ~[?:?]
        at 
org.apache.seatunnel.connectors.seatunnel.jdbc.internal.dialect.psql.PostgresDialect.applySchemaChange(PostgresDialect.java:287)
 ~[?:?]
        at 
org.apache.seatunnel.connectors.seatunnel.jdbc.internal.dialect.JdbcDialect.applySchemaChange(JdbcDialect.java:495)
 ~[?:?]
        at 
org.apache.seatunnel.connectors.seatunnel.jdbc.internal.dialect.JdbcDialect.applySchemaChange(JdbcDialect.java:461)
 ~[?:?]
        at 
org.apache.seatunnel.connectors.seatunnel.jdbc.sink.AbstractJdbcSinkWriter.reOpenOutputFormat(AbstractJdbcSinkWriter.java:73)
 ~[?:?]
        at 
org.apache.seatunnel.connectors.seatunnel.jdbc.sink.AbstractJdbcSinkWriter.applySchemaChange(AbstractJdbcSinkWriter.java:64)
 ~[?:?]
        at 
org.apache.seatunnel.api.sink.multitablesink.MultiTableSinkWriter.applySchemaChange(MultiTableSinkWriter.java:163)
 ~[seatunnel-starter.jar:2.3.10]
        at 
org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.received(SinkFlowLifeCycle.java:258)
 ~[seatunnel-starter.jar:2.3.10]
        ... 17 more
   ```
   
   ### 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
   
   
![Image](https://github.com/user-attachments/assets/9a6b5760-4cf1-4296-97cd-7ad080f880e6)
   
   ### 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