[ 
https://issues.apache.org/jira/browse/NIFI-6130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nimrod Avni updated NIFI-6130:
------------------------------
    Description: 
When using record readers and writers i ran into a problem where  i tried to 
give it a CSV with the same header twice, i.e something like

------------------------------------------

header1,header2,header1

a,b,c

------------------------------------------

 (obviously not real data)

when the reader tried to parse the flowfile as records it threw this error: 
"Failed to read Header line from CSV"

Which is not very indicative, when i went ahead and debugged the source code i 
could see the real error is: 

java.lang.IllegalArgumentException: The header contains a duplicate name: 
"header1" in [header1, header2, header1]

(Pictures are provided)

This is a case i ran into recently.

I also have another case where tried to read an avro file which has a '#' 
(hashtag) character in one of the headers, which is illegal in the avro schema 
defenition.

but the error i got there was : "failed to parse incoming data",

and again, when i debugged the code i found the read error

what the main point is to give a more indicative error message for record 
readers / writers, which not only gives the error itself but its cause

i could probably look up many more reasons readers / writers could fail and 
they will not give a good error message, but i believe these 2 are fine as an 
example 

  was:
When using record readers and writers i ran into a problem where  i tried to 
give it a CSV with the same header twice, i.e something like

------------------------------------------

header1,header2,header1

a,b,c

------------------------------------------

 

when the reader tried to parse the flowfile as records it threw this error: 
"Failed to read Header line from CSV"

Which is not very indicative, when i went ahead and debugged the source code i 
could see the real error is: 

java.lang.IllegalArgumentException: The header contains a duplicate name: 
"header1" in [header1, header2, header1]

(Pictures are provided)

This is a case i ran into recently, i have tried to read an avro file which has 
a '#' (hashtag) character in one of the headers, which is illegal in the avro 
schema defenition.

but the error i got there was : "failed to parse incoming data",

and again, when i debugged the code i found the read error

what the main point is to give a more indicative error message for record 
readers / writers, which not only gives the error itself but its cause

i could probably look up many more reasons readers / writers could fail and 
they will not give a good error message, but i believe these 2 are fine as an 
example 


> Add More information about exceptions from record readers/writers
> -----------------------------------------------------------------
>
>                 Key: NIFI-6130
>                 URL: https://issues.apache.org/jira/browse/NIFI-6130
>             Project: Apache NiFi
>          Issue Type: Improvement
>    Affects Versions: 1.9.0
>            Reporter: Nimrod Avni
>            Priority: Major
>         Attachments: image-2019-03-18-21-46-22-468.png, 
> image-2019-03-18-21-47-16-888.png
>
>
> When using record readers and writers i ran into a problem where  i tried to 
> give it a CSV with the same header twice, i.e something like
> ------------------------------------------
> header1,header2,header1
> a,b,c
> ------------------------------------------
>  (obviously not real data)
> when the reader tried to parse the flowfile as records it threw this error: 
> "Failed to read Header line from CSV"
> Which is not very indicative, when i went ahead and debugged the source code 
> i could see the real error is: 
> java.lang.IllegalArgumentException: The header contains a duplicate name: 
> "header1" in [header1, header2, header1]
> (Pictures are provided)
> This is a case i ran into recently.
> I also have another case where tried to read an avro file which has a '#' 
> (hashtag) character in one of the headers, which is illegal in the avro 
> schema defenition.
> but the error i got there was : "failed to parse incoming data",
> and again, when i debugged the code i found the read error
> what the main point is to give a more indicative error message for record 
> readers / writers, which not only gives the error itself but its cause
> i could probably look up many more reasons readers / writers could fail and 
> they will not give a good error message, but i believe these 2 are fine as an 
> example 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to