Hello all,I would appreciate your help in the Avro error that I am seeing. I am
executing the following very simple SQL select statement using the ExecuteSQL
processor : SELECT plant.name, area.area_id, area.nameFROM plant, area WHERE
plant.plant_id=area.plant_id;…and I get the following error message
“org.apache.avro.AvroRuntimeException: Duplicate field name in record
any.data.plant: name type:UNION pos:2 and name type:UNION pos:0.” essentially
telling me that I have two fields in the select statement with the same name
(plant.name and area.name) even though they are in different tables (full trace
below).I have tried to rename the field in the result (e.g. SELECT plant.name
as differentname) or try a JOIN equivalent statement but I still get the same
error. Is this a bug or am I doing something wrong?Many thanks for your help in
advance,PanosStack trace : 2016-04-21 16:52:41,888 ERROR [Timer-Driven Process
Thread-10] o.a.nifi.processors.standard.ExecuteSQL
ExecuteSQL[id=e8fbc2aa-8594-4011-9a9e-bd93d0c2e7f9]
ExecuteSQL[id=e8fbc2aa-8594-4011-9a9e-bd93d0c2e7f9] failed to process session
due to org.apache.avro.AvroRuntimeException: Duplicate field name in record
any.data.plant: name type:UNION pos:2 and name type:UNION pos:0.:
org.apache.avro.AvroRuntimeException: Duplicate field name in record
any.data.plant: name type:UNION pos:2 and name type:UNION pos:0.2016-04-21
16:52:41,889 ERROR [Timer-Driven Process Thread-10]
o.a.nifi.processors.standard.ExecuteSQL org.apache.avro.AvroRuntimeException:
Duplicate field name in record any.data.plant: name type:UNION pos:2 and name
type:UNION pos:0.at
org.apache.avro.Schema$RecordSchema.setFields(Schema.java:590) ~[na:na]at
org.apache.avro.SchemaBuilder$FieldAssembler.endRecord(SchemaBuilder.java:2013)
~[na:na]at
org.apache.nifi.processors.standard.util.JdbcCommon.createSchema(JdbcCommon.java:245)
~[na:na]at
org.apache.nifi.processors.standard.util.JdbcCommon.convertToAvroStream(JdbcCommon.java:82)
~[na:na]at
org.apache.nifi.processors.standard.util.JdbcCommon.convertToAvroStream(JdbcCommon.java:72)
~[na:na]at
org.apache.nifi.processors.standard.ExecuteSQL$1.process(ExecuteSQL.java:158)
~[na:na]at
org.apache.nifi.controller.repository.StandardProcessSession.write(StandardProcessSession.java:1954)
~[nifi-framework-core-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]at
org.apache.nifi.processors.standard.ExecuteSQL.onTrigger(ExecuteSQL.java:152)
~[na:na]at
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
~[nifi-api-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]at
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1057)
~[nifi-framework-core-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]at
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136)
[nifi-framework-core-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]at
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
[nifi-framework-core-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]at
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:123)
[nifi-framework-core-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[na:1.8.0_77]at
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
[na:1.8.0_77]at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
[na:1.8.0_77]at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
[na:1.8.0_77]at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_77]at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_77]at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]