Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-8698

PutKudu fails if 'Handle Schema Drift' is true and using Data Record Path

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.14.0
    • Component/s: Extensions
    • Labels:
      None

      Description

      When using PutKudu, we have the option of automatically updating the Kudu table schema to match the data's schema by setting "Handle Schema Drift" to true. However, if a Data RecordPath is specified, we get the following error:

      2021-06-14 15:34:15,931 ERROR [Timer-Driven Process Thread-2] org.apache.nifi.processors.kudu.PutKudu PutKudu[id=433fc573-1879-33db-6719-d469274ee7bf] Failed to push StandardFlowFileRecord[uuid=2a96e164-5cde-4bf5-a0c9-cd44b2165969,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1623698025895-54, container=default, section=54], offset=824292, length=100],offset=0,name=2a96e164-5cde-4bf5-a0c9-cd44b2165969,size=100] to Kudu: java.lang.IllegalArgumentException: unsupported type RECORD
      java.lang.IllegalArgumentException: unsupported type RECORD
              at org.apache.nifi.processors.kudu.AbstractKuduProcessor.toKuduType(AbstractKuduProcessor.java:432)
              at org.apache.nifi.processors.kudu.AbstractKuduProcessor.getAddNullableColumnStatement(AbstractKuduProcessor.java:457)
              at org.apache.nifi.processors.kudu.PutKudu.processRecords(PutKudu.java:444)
              at org.apache.nifi.processors.kudu.PutKudu.processFlowFiles(PutKudu.java:370)
              at org.apache.nifi.processors.kudu.PutKudu.lambda$onTrigger$0(PutKudu.java:349)
              at org.apache.nifi.processors.kudu.AbstractKuduProcessor.executeOnKuduClient(AbstractKuduProcessor.java:228)
              at org.apache.nifi.processors.kudu.PutKudu.onTrigger(PutKudu.java:349)
              at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
              at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1180)
              at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:214)
              at org.apache.nifi.controller.scheduling.AbstractTimeBasedSchedulingAgent.lambda$doScheduleOnce$0(AbstractTimeBasedSchedulingAgent.java:63)
              at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
              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:748) 

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                markap14 Mark Payne
                Reporter:
                markap14 Mark Payne
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h