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

   ### 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 the original table deletes a field, the sink will report a null pointer.
   `
       public SeaTunnelRow convert(SourceRecord record, Struct struct, Schema 
schema)
               throws Exception {
           int arity = physicalConverters.length + metadataConverters.length;
           SeaTunnelRow row = new SeaTunnelRow(arity);
           // physical column
           for (int i = 0; i < physicalConverters.length; i++) {
               String fieldName = fieldNames[i];
               Object fieldValue = struct.get(fieldName);
               Field field = schema.field(fieldName);
               if (field == null) {
                   row.setField(i, null);
               } else {
                   Schema fieldSchema = field.schema();
                   Object convertedField =
                           
SeaTunnelRowDebeziumDeserializationConverters.convertField(
                                   physicalConverters[i], fieldValue, 
fieldSchema);
                   row.setField(i, convertedField);
               }
           }
           // metadata column
           for (int i = 0; i < metadataConverters.length; i++) {
               row.setField(i + physicalConverters.length, 
metadataConverters[i].read(record));
           }
           return row;
       }
   `
   
   ### SeaTunnel Version
   
   2.3.3
   
   ### SeaTunnel Config
   
   ```conf
   env {
   "job.mode"=STREAMING
   "job.name"="SeaTunnel_Job"
   "checkpoint.interval"="10000"
   }
   source {
   MySQL-CDC {
       format=DEFAULT
       "snapshot.split.size"=8096
       "snapshot.fetch.size"=1024
       "incremental.parallelism"=1
       debezium {
           "snapshot.locking.mode"=none
       }
       server-id="5700-5800"
       "connect.timeout.ms"=30000
       "connect.max-retries"=3
       "connection.pool.size"=20
       "chunk-key.even-distribution.factor.lower-bound"=0.05
       "chunk-key.even-distribution.factor.upper-bound"=100
       "sample-sharding.threshold"=1000
       "inverse-sampling.rate"=1000
       "startup.mode"=INITIAL
       "exactly_once"="true"
       "stop.mode"=NEVER
       parallelism=1
       "result_table_name"=Table11055809867488
       "dag-parsing.mode"=MULTIPLEX
       catalog {
           factory=Mysql
       }
       database-names=[
           "test"
       ]
       table-names=[
           "test.abc"
       ]
       
base-url="jdbc:mysql://localhost:3306/test?useSSL=false&autoReconnect=true&failOverReadOnly=false&rewriteBatchedStatements=true&Unicode=true&characterEncoding=UTF-8"
       password="1234"
       username=root
       server-time-zone=UTC
   }
   }
   transform {
   }
   sink {
   StarRocks {
       labelPrefix="test"
       "batch_max_rows"=1024
       "batch_max_bytes"=5242880
       "max_retries"="2"
       "max_retry_backoff_ms"="10000"
       "retry_backoff_multiplier_ms"="1000"
       "enable_upsert_delete"="true"
       savemode="KEEP_SCHEMA_AND_DATA"
       "save_mode_create_template"="CREATE TABLE IF NOT EXISTS 
`${database}`.`${table_name}` (\n${rowtype_primary_key},\n${rowtype_fields}\n) 
ENGINE=OLAP\n PRIMARY KEY (${rowtype_primary_key})\nDISTRIBUTED BY HASH 
(${rowtype_primary_key})PROPERTIES (\n    \"replication_num\" = \"1\" 
,\n\"enable_persistent_index\" = \"true\"\n)"
       "source_table_name"=Table11055809867360
       database="test"
       base-url="jdbc:mysql://localhost:8722/sys"
       password="123456"
       username=root
       nodeUrls=[
           "localhost:8720"
       ]
   }
   }
   ```
   
   
   ### Running Command
   
   ```shell
   seatuneel-web
   ```
   
   
   ### Error Exception
   
   ```log
   NullPointerException
   ```
   
   
   ### 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: commits-unsubscr...@seatunnel.apache.org.apache.org

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

Reply via email to