[ https://issues.apache.org/jira/browse/NIFI-7930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17746716#comment-17746716 ]
Matt Burgess commented on NIFI-7930: ------------------------------------ If we would have to extend RPATH functions for this, I'm not sure it makes sense. This kind of use case doesn't feel like SQL to me. I'm going to to try to come up with a JSLT solution and if that's successful I think we should recommend these highly-structural filters to be applied with JSLTTransformRecord vs QueryRecord (SQL). > QueryRecord fails with RPATH on arrays > -------------------------------------- > > Key: NIFI-7930 > URL: https://issues.apache.org/jira/browse/NIFI-7930 > Project: Apache NiFi > Issue Type: Bug > Components: Extensions > Reporter: Pierre Villard > Priority: Major > > When executing QueryRecord using a query with RPATH on arrays like the one > provided in the additional details of the processor's documentation, it fails > with the following stack trace: > {noformat} > 2793 [pool-1-thread-1] ERROR org.apache.nifi.processors.standard.QueryRecord > - QueryRecord[id=56b8b985-0609-4e52-9124-1bcbbbb8afab] Unable to query > FlowFile[0,fields-value-name.json,465B] due to java.lang.ClassCastException: > [Ljava.lang.Object; cannot be cast to java.util.List: > java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to > java.util.List > java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to > java.util.List > at Baz$1$1.moveNext(Unknown Source) > at > org.apache.calcite.linq4j.Linq4j$EnumeratorIterator.<init>(Linq4j.java:675) > at org.apache.calcite.linq4j.Linq4j.enumeratorIterator(Linq4j.java:95) > at > org.apache.calcite.linq4j.AbstractEnumerable.iterator(AbstractEnumerable.java:33) > at org.apache.calcite.avatica.MetaImpl.createCursor(MetaImpl.java:82) > at > org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:184) > at > org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:64) > at > org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:43) > at > org.apache.calcite.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:573) > at > org.apache.calcite.avatica.AvaticaPreparedStatement.executeQuery(AvaticaPreparedStatement.java:137) > at > org.apache.nifi.processors.standard.QueryRecord.query(QueryRecord.java:465) > at > org.apache.nifi.processors.standard.QueryRecord.onTrigger(QueryRecord.java:320) > at > org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) > at > org.apache.nifi.util.StandardProcessorTestRunner$RunProcessor.call(StandardProcessorTestRunner.java:270) > at > org.apache.nifi.util.StandardProcessorTestRunner$RunProcessor.call(StandardProcessorTestRunner.java:264) > 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) {noformat} > A unit test reproducing the issue is available here: > [https://github.com/pvillard31/nifi/commit/1016b4a540fab22bcad119e7ffe2363b99c07a0c] > I didn't get the time/opportunity to work on a fix for this. -- This message was sent by Atlassian Jira (v8.20.10#820010)