I was able to configure the reader to infer the schema from the first line
of the CSV, and the writer to use the same schema, and now the processor
works.  I think these are new properties in 1.4.0, and they certainly help
simplify the flow!  I was able to remove the InferAvroSchema processor as a
result.

Joe

On Mon, Oct 2, 2017 at 4:44 PM, Joe Gresock <jgres...@gmail.com> wrote:

> Good question -- no, this must be an artifact of running InferAvroSchema
> before the QueryRecord processor.  InferAvroSchema infers the schema and
> places it in a flow file attribute, which the CSVReader uses in its
> configuration.
>
> I just debugged nifi and found that it thinks one of my fields is null.
> There is indeed a record with an empty string in the csv for this field,
> but the same thing happens every day when this flow runs, so I suspect
> something must have changed in the implementation of either CSVReader or
> InferAvroSchema that made the parsing stricter.  I'm going to try to figure
> out how to allow blank values in the CSV.
>
> On Mon, Oct 2, 2017 at 4:29 PM, Mark Payne <marka...@hotmail.com> wrote:
>
>> Joe,
>>
>> Thanks. I was going to suggest we spawn off a new thread if this
>> continued with more back-and-forth.
>>
>> I did notice that in the JIRA you indicated that
>> you are using a CSVReader service to read the data. In the message, it
>> indicates that the FlowFIle's
>> filename is 
>> "billing-detailed-line-items-with-resources-and-tags-2017-10.csv.avro"
>> -- which would imply
>> to me that it is Avro (perhaps converted from CSV to avro upstream?) Is
>> it possible that you just selected
>> the wrong reader?
>>
>> Thanks
>> -Mark
>>
>> > On Oct 2, 2017, at 12:24 PM, Joe Gresock <jgres...@gmail.com> wrote:
>> >
>> > I'm changing the subject name so as not to muddy the [VOTE] thread.
>> >
>> > I finally found the error in the logs.  This was also not happening
>> prior
>> > to the upgrade.  I thinkI'll debug the server to determine the root
>> cause:
>> >
>> > 2017-10-02 16:09:47,004 ERROR [Timer-Driven Process Thread-81]
>> > o.a.nifi.processors.standard.QueryRecord
>> > QueryRecord[id=21570e18-015c-1000-0000-000058832883] Unable to query
>> > StandardFlowFileRecord[uuid=2da6d0f9-3856-420e-99bd-9589f7f7
>> 4911,claim=StandardContentClaim
>> > [resourceClaim=StandardResourceClaim[id=1506960462126-919,
>> > container=default, section=919], offset=55116,
>> > length=616757],offset=0,name=billing-detailed-line-items-wit
>> h-resources-and-tags-2017-10.csv.avro,size=616757]
>> > due to org.apache.nifi.processor.exception.ProcessException: Failed to
>> read
>> > next record in stream for
>> > StandardFlowFileRecord[uuid=2da6d0f9-3856-420e-99bd-9589f7f7
>> 4911,claim=StandardContentClaim
>> > [resourceClaim=StandardResourceClaim[id=1506960462126-919,
>> > container=default, section=919], offset=55116,
>> > length=616757],offset=0,name=billing-detailed-line-items-wit
>> h-resources-and-tags-2017-10.csv.avro,size=616757]:
>> > {}
>> > org.apache.nifi.processor.exception.ProcessException: Failed to read
>> next
>> > record in stream for
>> > StandardFlowFileRecord[uuid=2da6d0f9-3856-420e-99bd-9589f7f7
>> 4911,claim=StandardContentClaim
>> > [resourceClaim=StandardResourceClaim[id=1506960462126-919,
>> > container=default, section=919], offset=55116,
>> > length=616757],offset=0,name=billing-detailed-line-items-wit
>> h-resources-and-tags-2017-10.csv.avro,size=616757]
>> >        at
>> > org.apache.nifi.queryrecord.FlowFileEnumerator.moveNext(Flow
>> FileEnumerator.java:65)
>> >        at Baz$1$1.moveNext(Unknown Source)
>> >        at
>> > org.apache.calcite.linq4j.Linq4j$EnumeratorIterator.<init>(
>> Linq4j.java:664)
>> >        at
>> > org.apache.calcite.linq4j.Linq4j.enumeratorIterator(Linq4j.java:98)
>> >        at
>> > org.apache.calcite.linq4j.AbstractEnumerable.iterator(Abstra
>> ctEnumerable.java:33)
>> >        at
>> > org.apache.calcite.avatica.MetaImpl.createCursor(MetaImpl.java:89)
>> >        at
>> > org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaR
>> esultSet.java:196)
>> >        at
>> > org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResu
>> ltSet.java:67)
>> >        at
>> > org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResu
>> ltSet.java:44)
>> >        at
>> > org.apache.calcite.avatica.AvaticaConnection.executeQueryInt
>> ernal(AvaticaConnection.java:513)
>> >        at
>> > org.apache.calcite.avatica.AvaticaPreparedStatement.executeQ
>> uery(AvaticaPreparedStatement.java:132)
>> >        at
>> > org.apache.nifi.processors.standard.QueryRecord.queryWithCac
>> he(QueryRecord.java:445)
>> >        at
>> > org.apache.nifi.processors.standard.QueryRecord.onTrigger(
>> QueryRecord.java:276)
>> >        at
>> > org.apache.nifi.processor.AbstractProcessor.onTrigger(Abstra
>> ctProcessor.java:27)
>> >        at
>> > org.apache.nifi.controller.StandardProcessorNode.onTrigger(S
>> tandardProcessorNode.java:1119)
>> >        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.TimerDrivenSchedulingA
>> gent$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$ScheduledFu
>> tureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>> >        at
>> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFu
>> tureTask.run(ScheduledThreadPoolExecutor.java:294)
>> >        at
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>> Executor.java:1142)
>> >        at
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>> lExecutor.java:617)
>> >        at java.lang.Thread.run(Thread.java:748)
>> >
>> >
>> > On Mon, Oct 2, 2017 at 4:03 PM, Mark Payne <marka...@hotmail.com>
>> wrote:
>> >
>> >> Hey Joe,
>> >>
>> >> I've seen this error crop up a time or two before. The issue is a bug
>> in
>> >> how we are handling a failure
>> >> condition. Haven't yet figured out the best way to tackle it, but the
>> >> thing to note is that this error occurs
>> >> when there is some other sort of failure -- typically, a failure to
>> obtain
>> >> the schema for the Record Reader
>> >> or Record Writer. Can you check your logs for any other errors that
>> may be
>> >> occurring?
>> >>
>> >> Thanks
>> >> -Mark
>> >>
>> >>
>> >>> On Oct 2, 2017, at 11:32 AM, Joe Gresock <jgres...@gmail.com> wrote:
>> >>>
>> >>> I have to change my non-binding +1 vote to a 0, unless there is a
>> >>> workaround for the bug [1] I just submitted, regarding the QueryRecord
>> >>> processor being broken.
>> >>>
>> >>>
>> >>> [1] https://issues.apache.org/jira/browse/NIFI-4452
>> >>>
>> >>>
>> >>> On Mon, Oct 2, 2017 at 3:23 AM, Kevin Doran <kdoran.apa...@gmail.com>
>> >> wrote:
>> >>>
>> >>>> +1, non-binding
>> >>>>
>> >>>> - Verified hashes
>> >>>> - Full build with contrib-check passes
>> >>>> - Was able to run nifi server and send flow files to remote input
>> port
>> >>>> over s2s protocol. Web UI and API working as expected.
>> >>>>
>> >>>> Platform:
>> >>>> Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426;
>> >>>> 2017-04-03T15:39:06-04:00)
>> >>>> Java version: 1.8.0_131, vendor: Oracle Corporation
>> >>>> OS name: "mac os x", version: "10.12.6", arch: "x86_64", family:
>> "mac"
>> >>>>
>> >>>> Looks good! Nice work everyone!
>> >>>>
>> >>>> Kevin
>> >>>>
>> >>>> On 9/28/17, 15:54, "Jeff" <jsto...@apache.org> wrote:
>> >>>>
>> >>>>   Hello,
>> >>>>
>> >>>>   I am pleased to be calling this vote for the source release of
>> Apache
>> >>>> NiFi
>> >>>>   nifi-1.4.0.
>> >>>>
>> >>>>   The source zip, including signatures, digests, etc. can be found
>> at:
>> >>>>   https://repository.apache.org/content/repositories/
>> >> orgapachenifi-1111
>> >>>>
>> >>>>   The Git tag is nifi-1.4.0-RC2
>> >>>>   The Git commit ID is e6508ba7d3da5bba54abd6233a7a8f9dd4c32151
>> >>>>   https://git-wip-us.apache.org/repos/asf?p=nifi.git;a=commit;h=
>> >>>> e6508ba7d3da5bba54abd6233a7a8f9dd4c32151
>> >>>>
>> >>>>   Checksums of nifi-1.4.0-source-release.zip:
>> >>>>   MD5: 41e4083e602883a3e180032f32913414
>> >>>>   SHA1: 26770625138126f45bed4989adb0a6b65a767aa2
>> >>>>
>> >>>>   Release artifacts are signed with the following key:
>> >>>>   https://people.apache.org/keys/committer/jstorck.asc
>> >>>>
>> >>>>   KEYS file available here:
>> >>>>   https://dist.apache.org/repos/dist/release/nifi/KEYS
>> >>>>
>> >>>>   199 issues were closed/resolved for this release:
>> >>>>   https://issues.apache.org/jira/secure/ReleaseNote.jspa?
>> >>>> projectId=12316020&version=12340589
>> >>>>
>> >>>>   Release note highlights can be found here:
>> >>>>   https://cwiki.apache.org/confluence/display/NIFI/
>> >>>> Release+Notes#ReleaseNotes-Version-1.4.0
>> >>>>
>> >>>>   The vote will be open for 72 hours.
>> >>>>   Please download the release candidate and evaluate the necessary
>> >> items
>> >>>>   including checking hashes, signatures, build
>> >>>>   from source, and test.  The please vote:
>> >>>>
>> >>>>   [ ] +1 Release this package as nifi-1.4.0
>> >>>>   [ ] +0 no opinion
>> >>>>   [ ] -1 Do not release this package because...
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>> --
>> >>> I know what it is to be in need, and I know what it is to have
>> plenty.  I
>> >>> have learned the secret of being content in any and every situation,
>> >>> whether well fed or hungry, whether living in plenty or in want.  I
>> can
>> >> do
>> >>> all this through him who gives me strength.    *-Philippians 4:12-13*
>> >>
>> >>
>> >
>> >
>> > --
>> > I know what it is to be in need, and I know what it is to have plenty.
>> I
>> > have learned the secret of being content in any and every situation,
>> > whether well fed or hungry, whether living in plenty or in want.  I can
>> do
>> > all this through him who gives me strength.    *-Philippians 4:12-13*
>>
>>
>
>
> --
> I know what it is to be in need, and I know what it is to have plenty.  I
> have learned the secret of being content in any and every situation,
> whether well fed or hungry, whether living in plenty or in want.  I can
> do all this through him who gives me strength.    *-Philippians 4:12-13*
>



-- 
I know what it is to be in need, and I know what it is to have plenty.  I
have learned the secret of being content in any and every situation,
whether well fed or hungry, whether living in plenty or in want.  I can do
all this through him who gives me strength.    *-Philippians 4:12-13*

Reply via email to