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

James Violette updated PHOENIX-53:
----------------------------------

    Description: 
in org.apache.phoenix.util.CSVLoader, the upsert fails if it encounters an 
empty line.  This occurs if all lines end with the new line character and the 
reader returns an empty line at the end. Other issues, such as encapsulated 
meta characters also occur.

The fix is to replace the opencsv library with the current apache commons-csv 
library.



  was:
in org.apache.phoenix.util.CSVLoader, the upsert fails if it encounters an 
empty line.  This occurs if all lines end with the new line character and the 
reader returns an empty line at the end.

A fix is to add a guard while reading the next line.
        public void upsert(CSVReader reader) throws Exception {
   ...
                while ((nextLine = reader.readNext()) != null) {
                        if (nextLine.length==0) {
                                continue;
                        }



> Replace CSV loader with Apache Commons CSV loader
> -------------------------------------------------
>
>                 Key: PHOENIX-53
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-53
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 2.2.3, 3.0.0
>            Reporter: James Violette
>              Labels: patch
>             Fix For: 2.2.3, 3.0.0
>
>         Attachments: commons-csv-1.0-SNAPSHOT-sources.jar, 
> commons-csv-1.0-SNAPSHOT.jar, incubator-phoenix-commons-csv-rev2-3.0.0.patch
>
>
> in org.apache.phoenix.util.CSVLoader, the upsert fails if it encounters an 
> empty line.  This occurs if all lines end with the new line character and the 
> reader returns an empty line at the end. Other issues, such as encapsulated 
> meta characters also occur.
> The fix is to replace the opencsv library with the current apache commons-csv 
> library.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to