Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-8200

io.debezium.connector.oracle.logminer.parser.DmlParserException

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • 2.7.0.Final
    • oracle-connector
    • None
    • False
    • None
    • False
    • Important

      In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.

      Bug report

      For bug reports, provide this information, please:

      What Debezium connector do you use and what version?

       Debezium for Oracle 2.7.0

      What is the connector configuration?

      apiVersion: kafka.strimzi.io/v1beta2
      kind: KafkaConnect
      metadata:
        name: connect-cluster
        annotations:
          strimzi.io/use-connector-resources: "true"
        labels:
          kafka.helvetia.io/owner: ch01bkp
          kafka.helvetia.io/deputy-owner: che1shc
          kafka.helvetia.io/stage: prod
      spec:
        version: 3.6.1
        replicas: 2
        bootstrapServers: lkc-oqd9gy.domzwzk8zw4.eu-north-1.aws.confluent.cloud:9092
        tls:
          trustedCertificates: []
        jvmOptions:
          gcLoggingEnabled: false
        authentication:
          type: plain
          username: VQZ55LRA5EWLDIQW
          passwordSecret:
            secretName: confluent-kafka-connect-ch-syrius.connect-user
            password: service-account.password
        config:
          config.providers: file,env
          config.providers.file.class: org.apache.kafka.common.config.provider.FileConfigProvider
          config.providers.env.class: org.apache.kafka.common.config.provider.EnvVarConfigProvider
          group.id: connect-ch-syrius.connect-cluster
          config.storage.topic: kafka-connect-ch-syrius.connect-cluster.connect-cluster-configs
          offset.storage.topic: kafka-connect-ch-syrius.connect-cluster.connect-cluster-offsets
          status.storage.topic: kafka-connect-ch-syrius.connect-cluster.connect-cluster-status
        externalConfiguration:
          env:
            - name: SASL_JAAS_CONFIG
              valueFrom:
                secretKeyRef:
                  key: sasl.jaas.config
                  name: confluent-kafka-connect-ch-syrius.connect-user
          volumes:
            - name: connector-config
              secret:
                secretName: connector-config
            - name: confluent-credentials
              secret:
                secretName: confluent-kafka-connect-ch-syrius.connect-user
        livenessProbe:
          initialDelaySeconds: 300
          timeoutSeconds: 10
        readinessProbe:
          initialDelaySeconds: 60
          timeoutSeconds: 10
        resources:
          limits:
            cpu: 3
            memory: 4Gi
          requests:
            cpu: 500m
            memory: 2Gi
        logging:
          type: inline
          loggers:
            connect.root.logger.level: INFO
            log4j.logger.org.reflections: ERROR
            log4j.logger.org.apache.kafka.connect.runtime.rest.RestServer: WARN
        metricsConfig:
          type: jmxPrometheusExporter
          valueFrom:
            configMapKeyRef:
              key: kafka-connect-metrics-config.yml
              name: kafka-connect-metrics
        template:
          pod:
            metadata:
              annotations:
                monitoring.helvetia.io/custom-scrape-config: 'kafka-connect-cluster'
                monitoring.helvetia.io/custom-scrape-enabled: 'true'
                monitoring.helvetia.io/custom-scrape-path: /metrics
                monitoring.helvetia.io/custom-scrape-port: '9404'
        build:
          output:
            image: 'nexus.helvetia.group:8083/ch-hip/kafka-connect/rosa-prod1/kafka-connect-ch-syrius-prod:latest'
            pushSecret: nexus-docker-8083
            type: docker
          plugins:
            - name: debezium-connector-oracle
              artifacts:
                - type: zip
                  url: https://nexus.helvetia.com/repository/central/io/debezium/debezium-connector-oracle/2.7.0.Final/debezium-connector-oracle-2.7.0.Final-plugin.zip
                - type: jar
                  url: https://nexus.helvetia.com/repository/central/com/oracle/ojdbc/ojdbc10/19.3.0.0/ojdbc10-19.3.0.0.jar
            - name: confluentinc-kafka-connect-jdbc
              artifacts:
                - type: zip
                  url: https://nexus.helvetia.com/repository/thirdparty/io/confluent/kafka-connect-jdbc/10.7.4/kafka-connect-jdbc-10.7.4.zip
            - name: confluentinc-kafka-connect-avro-converter
              artifacts:
                - type: zip
                  url: https://nexus.helvetia.com/repository/thirdparty/io/confluent/kafka-connect-avro-converter/7.6.1/kafka-connect-avro-converter-7.6.1.zip 

      What is the captured database version and mode of deployment?

      Oracle 19c

      What behavior do you expect?

      <Your answer>

      What behavior do you see?

      Connector failed on our PROD stage with the following error:

       

      2024-09-03 14:43:28,893 ERROR [kafka-connect-ch-syrius.cdc.debezium.source|task-0] WorkerSourceTask{id=kafka-connect-ch-syrius.cdc.debezium.source-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted (org.apache.kafka.connect.runtime.WorkerTask) [task-thread-kafka-connect-ch-syrius.cdc.debezium.source-0]
      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:67)
      	at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:267)
      	at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:61)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:312)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:203)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      	at java.base/java.lang.Thread.run(Thread.java:840)
      Caused by: io.debezium.connector.oracle.logminer.parser.DmlParserException: DML statement couldn't be parsed. Please open a Jira issue with the statement 'update "HEVPROD"."FALLDOSSIER" set "UNFALLBESCHREIBUNG" = '" je suis sortie de la piscine et j'ai gliss?e sur le sol mouill?. Je suis tomb?e en arri?re en me tapant fortement l'arri?re du cr?ne, l'?paule droite et la fesse droite. Je me suis par la suite repos?e mais durant la nuit j'ai du faire appel ? un m?decin sur place ? l'h?tel directement car j'ai eu des naus?es/vomissements et des douleurs qui ne passaient pas du tout malgr? le Dafalgan et Irfen"' where "PKEY" = '2310822' and "BOID" = '70c0b97a-8ef5-4aa0-acb3-36686b7ee1d3' and "METABO" = '-134' and "LASTUPDATE" = TO_TIMESTAMP('2024-09-03 14:11:49.741492000') and "PROCESSID" = 'P.-254466' and "ROWCOMMENT" IS NULL and "CREATED" = TO_TIMESTAMP('2024-09-03 14:11:49.741492000') and "CREATEDUSER" = 'CH00DPA' and "REPLACED" = TO_TIMESTAMP('3000-01-01 00:00:00.') and "REPLACEDUSER" IS NULL and "ARCHIVETAG" IS NULL and "MDBID" IS NULL and "GUELTAB" = TO_DATE('2024-08-27 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "GUELTBIS" = TO_DATE('3000-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "SCHADENNR" = '11.24.08368' and "FALLDOSSIERBEZ" = 'Cr?ne / cerveau / " je suis sortie de la piscine e' and "ITSDOSSIERSCHART" = '4d8bdee1-b644-40fb-af0f-aa1ef413673c' and "EREIGNISDATUM" = TO_DATE('2024-08-27 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "ERLEDIGUNGSDATUM" IS NULL and "ANLAGEDATUM" = TO_DATE('2024-09-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "ITSERSTUSER" = 'CH00DPA' and "STATUS" = '-48100' and "CK_STATUS" = '-4810' and "ITSTYP" = '1' and "ITSREGRESSAT" IS NULL and "MINIMALEFALLART" = '0cfde616-afba-4747-a6ea-2638b69fd950' and "CK_MINIMALEFALLART" = '24d12bb8-57a9-4da4-887d-47e5bbe5536f' and "FALLART" = '0cfde616-afba-4747-a6ea-2638b69fd950' and "CK_FALLART" = '24d12bb8-57a9-4da4-887d-47e5bbe5536f' and "REGJAHR" = '2024' and "UNFORTKKHURS1" IS NULL and "CK_UNFORTKKHURS1" IS NULL and "UNFHERKKHURS2" IS NULL and "CK_UNFHERKKHURS2" IS NULL and "UNFBETEKKHURS3" IS NULL and "CK_UNFBETEKKHURS3" IS NULL and "UNFBETAKKHURS4" = 'a4454933-3334-4953-b51f-e3778d3444d3' and "CK_UNFBETAKKHURS4" = '17225e0c-ca04-4728-b061-e1fbb7f6e406' and "RISIKOGRUPPEN" IS NULL and "CK_RISIKOGRUPPEN" IS NULL and "STMELDLANDFRISTV" IS NULL and "ITSDOSSIERGBEREICH" = '1' and "MAXANZLSTFALL" = '0' and "FALLBEARBCODE" = '-57400' and "ITSDIAGOPTYP" = '3109e597-26f5-4efb-8936-978b2090b884' and "ITSPARTNERDOSSIER" = '821465' and "ITSBERUF" = '5d8002b7-037f-444c-8abb-cc104527a893' and "BERUFFREITEXT" = 'Assistante m?dicale' and "ITSZUSTAENDVERS" = '1' and "ERFASSUNGSART" = '-25400' and "GEPRUEFT" = '-10111' and "DECKUNGSDATUM" = TO_DATE('2024-08-27 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "DECKUNGSDATUMOVR" = '0' and "FALLVARIANTE" = '-65926' and "CK_FALLVARIANTE" = '2846e065-507c-4b49-818f-6613d05f711f' and "RENTENNRINVALIDE" IS NULL and "RENTENNRHINTERL" IS NULL and "ITSFALLMELDUNG" = 'dcc9cdf6-79fa-44dc-b32f-2f55bd07ff5c' and "EREIGNISZEIT" = TO_DATE('2024-08-27 17:30:00', 'YYYY-MM-DD HH24:MI:SS') and "ORT" = '80361#Seminyak' and "NL_ORT" = '80361#SEMINYAK' and "SCHADENPOOL" IS NULL and "ERWGESSCHADEN" = '0' and "GROSSSCHADEN" = '-10111' and "ITSERSTBEHANDLERB" IS NULL and "ITSNACHBEHANDLERB" IS NULL and "ITSSCHADENEREIGNIS" IS NULL and "VERSICHZWEIG" = '8466592b-f715-4e86-8aba-f4698b25326b' and "CK_VERSICHZWEIG" = '30b4cc7f-e27f-45e8-a7a1-bf307c1fb8a1' and "TAGGELDANSPRUCH" = '-10111' and "MELDFALLSTICHPROBE" = '-61500' and "MELDFALLBRFKRANKH" = '-61500' and "MELDFALLRENTE" = '-61500' and "ALTERVERSSSUVCODE" IS NULL and "ALTEUNFALLNR" IS NULL and "ISSSUV_IVRENTE" = '-10111' and "ISTODESFALLUVG" = '-10111' and "UNFALLORT" = '80361#Seminyak' and "POLIZEIRAPVORHAND" = '-2010008317' and "LETZTERARBEITSTAG" = TO_DATE('2024-08-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "LEISTUNGSTATUS" = '-2010009270' and "EREIGNISDATAUSPRAE" = '-2010010028' and "ITSTERMINIERUNG" IS NULL and "SCHADNRKFRISTVERS" IS NULL and "AKTIVIERUNGSDATUM" = TO_DATE('2024-09-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "FRISTBEGINN" = TO_DATE('3000-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "UNFALLSTELLE" = 'piscine de l''h?tel' and "UNFALLGEGENSTAND" IS NULL and "ITSUNFALLLAND" IS NULL and "UMKATDATUM" = TO_DATE('3000-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "LASTUPDATEBEID" IS NULL and "GRUNDUMKAT" IS NULL and "BETEILIGTEPERSONEN" IS NULL;'.
      	at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.parseDmlStatement(AbstractLogMinerEventProcessor.java:1413)
      	at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.lambda$handleDataEvent$11(AbstractLogMinerEventProcessor.java:1142)
      	at io.debezium.connector.oracle.logminer.processor.memory.MemoryLogMinerEventProcessor.addToTransaction(MemoryLogMinerEventProcessor.java:205)
      	at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.handleDataEvent(AbstractLogMinerEventProcessor.java:1141)
      	at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.processRow(AbstractLogMinerEventProcessor.java:424)
      	at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.processResults(AbstractLogMinerEventProcessor.java:320)
      	at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.process(AbstractLogMinerEventProcessor.java:241)
      	at io.debezium.connector.oracle.logminer.LogMinerStreamingChangeEventSource.execute(LogMinerStreamingChangeEventSource.java:246)
      	... 9 more
      Caused by: io.debezium.connector.oracle.logminer.parser.DmlParserException: Failed to parse update DML: 'update "HEVPROD"."FALLDOSSIER" set "UNFALLBESCHREIBUNG" = '" je suis sortie de la piscine et j'ai gliss?e sur le sol mouill?. Je suis tomb?e en arri?re en me tapant fortement l'arri?re du cr?ne, l'?paule droite et la fesse droite. Je me suis par la suite repos?e mais durant la nuit j'ai du faire appel ? un m?decin sur place ? l'h?tel directement car j'ai eu des naus?es/vomissements et des douleurs qui ne passaient pas du tout malgr? le Dafalgan et Irfen"' where "PKEY" = '2310822' and "BOID" = '70c0b97a-8ef5-4aa0-acb3-36686b7ee1d3' and "METABO" = '-134' and "LASTUPDATE" = TO_TIMESTAMP('2024-09-03 14:11:49.741492000') and "PROCESSID" = 'P.-254466' and "ROWCOMMENT" IS NULL and "CREATED" = TO_TIMESTAMP('2024-09-03 14:11:49.741492000') and "CREATEDUSER" = 'CH00DPA' and "REPLACED" = TO_TIMESTAMP('3000-01-01 00:00:00.') and "REPLACEDUSER" IS NULL and "ARCHIVETAG" IS NULL and "MDBID" IS NULL and "GUELTAB" = TO_DATE('2024-08-27 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "GUELTBIS" = TO_DATE('3000-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "SCHADENNR" = '11.24.08368' and "FALLDOSSIERBEZ" = 'Cr?ne / cerveau / " je suis sortie de la piscine e' and "ITSDOSSIERSCHART" = '4d8bdee1-b644-40fb-af0f-aa1ef413673c' and "EREIGNISDATUM" = TO_DATE('2024-08-27 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "ERLEDIGUNGSDATUM" IS NULL and "ANLAGEDATUM" = TO_DATE('2024-09-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "ITSERSTUSER" = 'CH00DPA' and "STATUS" = '-48100' and "CK_STATUS" = '-4810' and "ITSTYP" = '1' and "ITSREGRESSAT" IS NULL and "MINIMALEFALLART" = '0cfde616-afba-4747-a6ea-2638b69fd950' and "CK_MINIMALEFALLART" = '24d12bb8-57a9-4da4-887d-47e5bbe5536f' and "FALLART" = '0cfde616-afba-4747-a6ea-2638b69fd950' and "CK_FALLART" = '24d12bb8-57a9-4da4-887d-47e5bbe5536f' and "REGJAHR" = '2024' and "UNFORTKKHURS1" IS NULL and "CK_UNFORTKKHURS1" IS NULL and "UNFHERKKHURS2" IS NULL and "CK_UNFHERKKHURS2" IS NULL and "UNFBETEKKHURS3" IS NULL and "CK_UNFBETEKKHURS3" IS NULL and "UNFBETAKKHURS4" = 'a4454933-3334-4953-b51f-e3778d3444d3' and "CK_UNFBETAKKHURS4" = '17225e0c-ca04-4728-b061-e1fbb7f6e406' and "RISIKOGRUPPEN" IS NULL and "CK_RISIKOGRUPPEN" IS NULL and "STMELDLANDFRISTV" IS NULL and "ITSDOSSIERGBEREICH" = '1' and "MAXANZLSTFALL" = '0' and "FALLBEARBCODE" = '-57400' and "ITSDIAGOPTYP" = '3109e597-26f5-4efb-8936-978b2090b884' and "ITSPARTNERDOSSIER" = '821465' and "ITSBERUF" = '5d8002b7-037f-444c-8abb-cc104527a893' and "BERUFFREITEXT" = 'Assistante m?dicale' and "ITSZUSTAENDVERS" = '1' and "ERFASSUNGSART" = '-25400' and "GEPRUEFT" = '-10111' and "DECKUNGSDATUM" = TO_DATE('2024-08-27 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "DECKUNGSDATUMOVR" = '0' and "FALLVARIANTE" = '-65926' and "CK_FALLVARIANTE" = '2846e065-507c-4b49-818f-6613d05f711f' and "RENTENNRINVALIDE" IS NULL and "RENTENNRHINTERL" IS NULL and "ITSFALLMELDUNG" = 'dcc9cdf6-79fa-44dc-b32f-2f55bd07ff5c' and "EREIGNISZEIT" = TO_DATE('2024-08-27 17:30:00', 'YYYY-MM-DD HH24:MI:SS') and "ORT" = '80361#Seminyak' and "NL_ORT" = '80361#SEMINYAK' and "SCHADENPOOL" IS NULL and "ERWGESSCHADEN" = '0' and "GROSSSCHADEN" = '-10111' and "ITSERSTBEHANDLERB" IS NULL and "ITSNACHBEHANDLERB" IS NULL and "ITSSCHADENEREIGNIS" IS NULL and "VERSICHZWEIG" = '8466592b-f715-4e86-8aba-f4698b25326b' and "CK_VERSICHZWEIG" = '30b4cc7f-e27f-45e8-a7a1-bf307c1fb8a1' and "TAGGELDANSPRUCH" = '-10111' and "MELDFALLSTICHPROBE" = '-61500' and "MELDFALLBRFKRANKH" = '-61500' and "MELDFALLRENTE" = '-61500' and "ALTERVERSSSUVCODE" IS NULL and "ALTEUNFALLNR" IS NULL and "ISSSUV_IVRENTE" = '-10111' and "ISTODESFALLUVG" = '-10111' and "UNFALLORT" = '80361#Seminyak' and "POLIZEIRAPVORHAND" = '-2010008317' and "LETZTERARBEITSTAG" = TO_DATE('2024-08-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "LEISTUNGSTATUS" = '-2010009270' and "EREIGNISDATAUSPRAE" = '-2010010028' and "ITSTERMINIERUNG" IS NULL and "SCHADNRKFRISTVERS" IS NULL and "AKTIVIERUNGSDATUM" = TO_DATE('2024-09-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "FRISTBEGINN" = TO_DATE('3000-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "UNFALLSTELLE" = 'piscine de l''h?tel' and "UNFALLGEGENSTAND" IS NULL and "ITSUNFALLLAND" IS NULL and "UMKATDATUM" = TO_DATE('3000-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and "LASTUPDATEBEID" IS NULL and "GRUNDUMKAT" IS NULL and "BETEILIGTEPERSONEN" IS NULL;'
      	at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.parseUpdate(LogMinerDmlParser.java:166)
      	at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.parse(LogMinerDmlParser.java:75)
      	at io.debezium.connector.oracle.logminer.processor.AbstractLogMinerEventProcessor.parseDmlStatement(AbstractLogMinerEventProcessor.java:1407)
      	... 16 more
      Caused by: io.debezium.DebeziumException: No column '' where ' found in table 'PSYRHE01.HEVPROD.FALLDOSSIER'
      	at io.debezium.connector.oracle.logminer.LogMinerHelper.getColumnIndexByName(LogMinerHelper.java:26)
      	at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.getColumnIndexByName(LogMinerDmlParser.java:91)
      	at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.parseSetClause(LogMinerDmlParser.java:437)
      	at io.debezium.connector.oracle.logminer.parser.LogMinerDmlParser.parseUpdate(LogMinerDmlParser.java:141)
      	... 18 more
       

      Not sure which value is the problem...
      My candidates...

       

      Do you see the same behaviour using the latest released Debezium version?

      (Ideally, also verify with latest Alpha/Beta/CR version)

      <Your answer>

      Do you have the connector logs, ideally from start till finish?

      (You might be asked later to provide DEBUG/TRACE level log)

      Y€s

      How to reproduce the issue using our tutorial deployment?

      <Your answer>

      Feature request or enhancement

      For feature requests or enhancements, provide this information, please:

      Which use case/requirement will be addressed by the proposed feature?

      <Your answer>

      Implementation ideas (optional)

      <Your answer>

              Unassigned Unassigned
              thibaut.cazenave Thibaut Cazenave (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: