[ 
https://issues.apache.org/jira/browse/NIFI-13671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lehel Boér updated NIFI-13671:
------------------------------
    Status: Patch Available  (was: In Progress)

> QuerySalesforce record parsing fails with DateTime types
> --------------------------------------------------------
>
>                 Key: NIFI-13671
>                 URL: https://issues.apache.org/jira/browse/NIFI-13671
>             Project: Apache NiFi
>          Issue Type: Bug
>            Reporter: Lehel Boér
>            Assignee: Lehel Boér
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When reading records with QuerySalesforceObject while using Property Based 
> mode,
> it fails to read DateTime objects due to new changes in the RecordReader.
>  
> {code:java}
> java.lang.RuntimeException: 
> org.apache.nifi.serialization.MalformedRecordException: Successfully parsed a 
> JSON object from input but failed to convert into a Record object with the 
> given schema
>     at 
> org.apache.nifi.processors.salesforce.QuerySalesforceObject.lambda$processRecordsCallback$2(QuerySalesforceObject.java:442)
>     at 
> org.apache.nifi.controller.repository.StandardProcessSession.write(StandardProcessSession.java:3121)
>     at 
> org.apache.nifi.processors.salesforce.QuerySalesforceObject.processQuery(QuerySalesforceObject.java:398)
>     at 
> org.apache.nifi.processors.salesforce.QuerySalesforceObject.onTrigger(QuerySalesforceObject.java:357)
>     at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
>     at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1274)
>     at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:244)
>     at 
> org.apache.nifi.controller.scheduling.AbstractTimeBasedSchedulingAgent.lambda$doScheduleOnce$0(AbstractTimeBasedSchedulingAgent.java:59)
>     at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
>     at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
>     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
>     at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
>     at java.base/java.lang.Thread.run(Thread.java:1583)
> Caused by: org.apache.nifi.serialization.MalformedRecordException: 
> Successfully parsed a JSON object from input but failed to convert into a 
> Record object with the given schema
>     at 
> org.apache.nifi.json.AbstractJsonRowRecordReader.nextRecord(AbstractJsonRowRecordReader.java:182)
>     at 
> org.apache.nifi.serialization.RecordReader.nextRecord(RecordReader.java:50)
>     at 
> org.apache.nifi.processors.salesforce.QuerySalesforceObject.handleRecordSet(QuerySalesforceObject.java:458)
>     at 
> org.apache.nifi.processors.salesforce.QuerySalesforceObject.lambda$processRecordsCallback$2(QuerySalesforceObject.java:434)
>     ... 14 common frames omitted
> Caused by: 
> org.apache.nifi.serialization.record.field.FieldConversionException: 
> Conversion failed for [2024-08-20T18:48:06.000+0000] named [CreatedDate] to 
> [java.time.LocalDateTime] [java.lang.NumberFormatException] For input string: 
> "2024-08-20T18:48:06.000+0000"
>     at 
> org.apache.nifi.serialization.record.field.ObjectLocalDateTimeFieldConverter.tryParseAsNumber(ObjectLocalDateTimeFieldConverter.java:97)
>     at 
> org.apache.nifi.serialization.record.field.ObjectLocalDateTimeFieldConverter.convertField(ObjectLocalDateTimeFieldConverter.java:75)
>     at 
> org.apache.nifi.serialization.record.field.ObjectTimestampFieldConverter.convertField(ObjectTimestampFieldConverter.java:42)
>     at 
> org.apache.nifi.serialization.record.field.ObjectTimestampFieldConverter.convertField(ObjectTimestampFieldConverter.java:28)
>     at 
> org.apache.nifi.serialization.record.util.DataTypeUtils.convertType(DataTypeUtils.java:232)
>     at 
> org.apache.nifi.serialization.record.util.DataTypeUtils.convertType(DataTypeUtils.java:179)
>     at 
> org.apache.nifi.json.JsonTreeRowRecordReader.convertField(JsonTreeRowRecordReader.java:220)
>     at 
> org.apache.nifi.json.JsonTreeRowRecordReader.convertJsonNodeToRecord(JsonTreeRowRecordReader.java:183)
>     at 
> org.apache.nifi.json.JsonTreeRowRecordReader.convertJsonNodeToRecord(JsonTreeRowRecordReader.java:129)
>     at 
> org.apache.nifi.json.JsonTreeRowRecordReader.convertJsonNodeToRecord(JsonTreeRowRecordReader.java:120)
>     at 
> org.apache.nifi.json.AbstractJsonRowRecordReader.nextRecord(AbstractJsonRowRecordReader.java:177)
>     ... 17 common frames omitted {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to