[ https://issues.apache.org/jira/browse/NIFI-8254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matt Burgess updated NIFI-8254: ------------------------------- Summary: Timestamp in Avro schema not working in PutDatabaseRecord on Oracle (was: Timestamp and enums in Avro schema not working in PutDatabaseRecord on Oracle) > Timestamp in Avro schema not working in PutDatabaseRecord on Oracle > ------------------------------------------------------------------- > > Key: NIFI-8254 > URL: https://issues.apache.org/jira/browse/NIFI-8254 > Project: Apache NiFi > Issue Type: Bug > Components: Core Framework > Affects Versions: 1.13.0 > Reporter: Jonathan Keller > Priority: Major > > There appears to be a regression in the PutDatabaseRecord processor with > 1.13.0 (works in 1.12.1) > I have an Avro schema for a record which contained enum fields and > timestamps. After upgrading, a processor which had been working was failing > on errors on both of these field types. One stated it could not find the > record type, the other with the exception and stack trace below. The fields > in question were defined as below. > The files which were erroring out were the exact same files, and no changes > had been made to the schema or the CSV reader controller between the tests. > I was also able to successfully move the flow.xml.gz file back to the older > version of NiFi and the PutDatabaseRecord processor was able to work again to > insert the database records. > {noformat} > { > "name": "PER_ORG", > "type": { > "type": "enum", > "name": "PerOrgFlag", > "symbols": [ > "EMP", > "CWR" > ] > } > }, { > "name": "UPD_BT_DTM", > "type": { > "type": "long", > "logicalType": "timestamp-millis" > } > }, > {noformat} > > {noformat} > 2021-02-23 11:44:26,496 ERROR [Timer-Driven Process Thread-3] > o.a.n.p.standard.PutDatabaseRecord > PutDatabaseRecord[id=93b478c8-0177-1000-1ca3-59b4189b1ecb] Failed to put > Records to database for > StandardFlowFileRecord[uuid=fd4e3be1-8f7b-4a7a-bf45-2e98627f732a,claim=StandardContentClaim > [resourceClaim=StandardResourceClaim[id=1614107687354-5, container=default, > section=5], offset=682549, > length=6820],offset=0,name=DDODS_DVCMP_PS_JOB_2021-02-09_021816_2648.dat,size=6820]. > Routing to failure.: java.sql.BatchUpdateException: ORA-00932: inconsistent > datatypes: expected NUMBER got TIMESTAMP > java.sql.BatchUpdateException: ORA-00932: inconsistent datatypes: expected > NUMBER got TIMESTAMP > at > oracle.jdbc.driver.OraclePreparedStatement.executeLargeBatch(OraclePreparedStatement.java:9711) > at > oracle.jdbc.driver.T4CPreparedStatement.executeLargeBatch(T4CPreparedStatement.java:1447) > at > oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9487) > at > oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:237) > at > org.apache.commons.dbcp2.DelegatingStatement.executeBatch(DelegatingStatement.java:242) > at > org.apache.commons.dbcp2.DelegatingStatement.executeBatch(DelegatingStatement.java:242) > at sun.reflect.GeneratedMethodAccessor583.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:254) > at > org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.access$100(StandardControllerServiceInvocationHandler.java:38) > at > org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler$ProxiedReturnObjectInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:240) > at com.sun.proxy.$Proxy360.executeBatch(Unknown Source) > at > org.apache.nifi.processors.standard.PutDatabaseRecord.executeDML(PutDatabaseRecord.java:751) > at > org.apache.nifi.processors.standard.PutDatabaseRecord.putToDatabase(PutDatabaseRecord.java:838) > at > org.apache.nifi.processors.standard.PutDatabaseRecord.onTrigger(PutDatabaseRecord.java:487) > at > org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) > at > org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1173) > at > org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:214) > at > org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117) > 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.runAndReset(FutureTask.java:308) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) > 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) > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)