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

Matthias Liebig closed DRILL-4140.
----------------------------------
       Resolution: Fixed
    Fix Version/s: 1.4.0

Fixed in 1.4.0. Probably a duplicate of DRILL-4145 (different error msg, but 
fix seems to address the same issue).

> csv extractHeader: fails on multiple empty columns
> --------------------------------------------------
>
>                 Key: DRILL-4140
>                 URL: https://issues.apache.org/jira/browse/DRILL-4140
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Storage - Text & CSV
>    Affects Versions: 1.3.0
>         Environment: Linux (RHEL 7.1)
>            Reporter: Matthias Liebig
>            Priority: Minor
>             Fix For: 1.4.0
>
>
> When the extractHeader feature is enabled and several columns in a row are 
> empty, an exception occurs.
> {code:title=csv_with_header.csvh|borderStyle=solid}
> name,num1,num2,num3
> hello,1,2,3
> hello,,,
> hello,1,2,3
> hello,1,2,3
> {code}
> {code:java}
> SELECT * FROM dfs.`/tmp/csv_with_header.csvh`;
> java.lang.NegativeArraySizeException
>         at 
> org.apache.drill.exec.vector.VarCharVector$Accessor.get(VarCharVector.java:450)
>         at 
> org.apache.drill.exec.vector.accessor.VarCharAccessor.getBytes(VarCharAccessor.java:125)
>         at 
> org.apache.drill.exec.vector.accessor.VarCharAccessor.getString(VarCharAccessor.java:146)
>         at 
> org.apache.drill.exec.vector.accessor.VarCharAccessor.getObject(VarCharAccessor.java:136)
>         at 
> org.apache.drill.exec.vector.accessor.VarCharAccessor.getObject(VarCharAccessor.java:94)
>         at 
> org.apache.drill.exec.vector.accessor.BoundCheckingAccessor.getObject(BoundCheckingAccessor.java:148)
>         at 
> org.apache.drill.jdbc.impl.TypeConvertingSqlAccessor.getObject(TypeConvertingSqlAccessor.java:795)
>         at 
> org.apache.drill.jdbc.impl.AvaticaDrillSqlAccessor.getObject(AvaticaDrillSqlAccessor.java:179)
>         at 
> net.hydromatic.avatica.AvaticaResultSet.getObject(AvaticaResultSet.java:351)
>         at 
> org.apache.drill.jdbc.impl.DrillResultSetImpl.getObject(DrillResultSetImpl.java:401)
>         at sqlline.Rows$Row.<init>(Rows.java:157)
>         at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
>         at 
> sqlline.TableOutputFormat$ResizingRowsProvider.next(TableOutputFormat.java:87)
>         at sqlline.TableOutputFormat.print(TableOutputFormat.java:118)
>         at sqlline.SqlLine.print(SqlLine.java:1593)
>         at sqlline.Commands.execute(Commands.java:852)
>         at sqlline.Commands.sql(Commands.java:751)
>         at sqlline.SqlLine.dispatch(SqlLine.java:746)
>         at sqlline.SqlLine.begin(SqlLine.java:621)
>         at sqlline.SqlLine.start(SqlLine.java:375)
>         at sqlline.SqlLine.main(SqlLine.java:268)
> {code}
> As a workaround an empty column can be added to each line (inluding the 
> header).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to