nifi-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rahul Patil (Jira)" <>
Subject [jira] [Created] (NIFI-6663) ArrayIndexOutOfBoundsException in CaptureChangeMySQL
Date Fri, 13 Sep 2019 07:41:00 GMT
Rahul Patil created NIFI-6663:

             Summary: ArrayIndexOutOfBoundsException in CaptureChangeMySQL
                 Key: NIFI-6663
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Documentation &amp; Website, Extensions
    Affects Versions: 1.9.2
            Reporter: Rahul Patil

* Current implementaion of CaptureChangeMySQL assumesĀ _binlog_row_image_=_FULL_
 * But CDC Processor throws ArrayIndexOutOfBoundsException when binlog_row_image is set to
Minimal at 
2019-06-11 18:01:09,465 ERROR [Timer-Driven Process Thread-8] o.a.n.c.m.processors.CaptureChangeMySQL
CaptureChangeMySQL[id=016b1000-dfcd-1189-97d7-6bebf706ec18] CaptureChangeMySQL[id=016b1000-dfcd-1189-97d7-
6bebf706ec18] failed to process session due to java.lang.ArrayIndexOutOfBoundsException: 5;
Processor Administratively Yielded for 1 sec: java.lang.ArrayIndexOutOfBoundsException: 5
java.lang.ArrayIndexOutOfBoundsException: 5
        at org.apache.nifi.controller.repository.StandardProcessSession.write(
        at org.apache.nifi.cdc.mysql.processors.CaptureChangeMySQL.outputEvents(
        at org.apache.nifi.cdc.mysql.processors.CaptureChangeMySQL.onTrigger(
        at org.apache.nifi.controller.StandardProcessorNode.onTrigger(
        at org.apache.nifi.controller.tasks.ConnectableTask.invoke(
        at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$
        at org.apache.nifi.engine.FlowEngine$
        at java.util.concurrent.Executors$
        at java.util.concurrent.FutureTask.runAndReset(
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(
        at java.util.concurrent.ScheduledThreadPoolExecutor$
        at java.util.concurrent.ThreadPoolExecutor.runWorker(
        at java.util.concurrent.ThreadPoolExecutor$
        at {code}

 * This is because of obvious reason of MySQL's way of writing row imagesĀ 
 * Basically this is what I observed,
||binlog_format||binlog_row_image||Primary Key||CDC Processor||

 * Since not everyone who uses this processor is aware of underlying config & details,
I was thinking of following fixes
 1. Include this in CaptureChangeMySQL processor description
 2. try to throw a meaningful error message
 3. Fix current implementation to support other binlog_row_image types

This message was sent by Atlassian Jira

View raw message