[ https://issues.apache.org/jira/browse/NIFI-4974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16398964#comment-16398964 ]
Colin Dean commented on NIFI-4974: ---------------------------------- Looks like the `free()` method on the Clob is being called [here|https://github.com/apache/nifi/blob/b5ca7adbb97c603cbc721e105c4fe279cdcb085b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/JdbcCommon.java#L314]. > Uncaught AbstractMethodError when converting SQL results to Avro with JTDS > driver > --------------------------------------------------------------------------------- > > Key: NIFI-4974 > URL: https://issues.apache.org/jira/browse/NIFI-4974 > Project: Apache NiFi > Issue Type: Bug > Components: Core Framework > Affects Versions: 1.5.0 > Environment: Windows Server 2018, MS SQL Server > Reporter: Colin Dean > Priority: Major > > I'm using the [jtds|https://jtds.sourceforge.net] driver to retrieve data > from a Microsoft SQL Server installation. This is the first time I've come > upon this kind of error while using JTDS so I'm not sure if it's a defect in > JTDS or in NiFi. > {code:java} > java.lang.AbstractMethodError: null > at net.sourceforge.jtds.jdbc.ClobImpl.free(ClobImpl.java:219) > at > org.apache.nifi.processors.standard.util.JdbcCommon.convertToAvroStream(JdbcCommon.java:288) > at > org.apache.nifi.processors.standard.ExecuteSQL$2.process(ExecuteSQL.java:230) > at > org.apache.nifi.controller.repository.StandardProcessSession.write(StandardProcessSession.java:2571) > at > org.apache.nifi.processors.standard.ExecuteSQL.onTrigger(ExecuteSQL.java:218) > at > org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) > at > org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1122) > at > org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:147) > at > org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47) > at > org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:128) > 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:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > {code} > Looking at the JTDS source code, provided that the Github repo I'm looking at > it up to date with the SF repo, it appears that [this call to > `free()`|https://github.com/milesibastos/jTDS/blob/master/src/main/net/sourceforge/jtds/jdbc/ClobImpl.java#L219] > is intended to generate an error from JTDS: > {code} > /////// JDBC4 demarcation, do NOT put any JDBC3 code below this line /////// > public void free() throws SQLException { > // TODO Auto-generated method stub > throw new AbstractMethodError(); > } > {code} > We're going to try to use the official MS SQL JDBC driver as a workaround. I > minimally want to document this in case someone else encounters this problem > or there's a way to workaround it within NiFi. -- This message was sent by Atlassian JIRA (v7.6.3#76005)