[ https://issues.apache.org/jira/browse/DRILL-4755?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Arina Ielchiieva updated DRILL-4755: ------------------------------------ Reviewer: Arina Ielchiieva (was: Parth Chandra) > StringIndexOutOfBoundsException seen with CONVERT_FROM function > --------------------------------------------------------------- > > Key: DRILL-4755 > URL: https://issues.apache.org/jira/browse/DRILL-4755 > Project: Apache Drill > Issue Type: Bug > Components: Query Planning & Optimization > Affects Versions: 1.7.0 > Reporter: Khurram Faraaz > Assignee: Volodymyr Vysotskyi > Labels: ready-to-commit > Attachments: date_data.csv > > > StringIndexOutOfBoundsException seen with CONVERT_FROM function > Drill git commit ID : 6286c0a4 > {noformat} > 0: jdbc:drill:schema=dfs.tmp> select > CONVERT_FROM(binary_string(columns[0]),'INTEGER') from `binStrDuplcs.csv`; > Error: SYSTEM ERROR: StringIndexOutOfBoundsException: String index out of > range: -5 > [Error Id: 7e8fd49d-c6ac-40ac-849e-cf59145ed5dd on centos-01.qa.lab:31010] > (org.apache.drill.exec.work.foreman.ForemanException) Unexpected exception > during fragment initialization: String index out of range: -5 > org.apache.drill.exec.work.foreman.Foreman.run():271 > java.util.concurrent.ThreadPoolExecutor.runWorker():1142 > java.util.concurrent.ThreadPoolExecutor$Worker.run():617 > java.lang.Thread.run():745 > Caused By (java.lang.StringIndexOutOfBoundsException) String index out of > range: -5 > java.lang.String.substring():1931 > > org.apache.drill.exec.planner.logical.PreProcessLogicalRel.getConvertFunctionException():244 > org.apache.drill.exec.planner.logical.PreProcessLogicalRel.visit():148 > org.apache.calcite.rel.logical.LogicalProject.accept():132 > > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.preprocessNode():634 > > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert():196 > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():164 > org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():94 > org.apache.drill.exec.work.foreman.Foreman.runSQL():978 > org.apache.drill.exec.work.foreman.Foreman.run():257 > java.util.concurrent.ThreadPoolExecutor.runWorker():1142 > java.util.concurrent.ThreadPoolExecutor$Worker.run():617 > java.lang.Thread.run():745 (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-06-27 05:31:02,515 [288f45e9-44ad-bc5e-3247-3e0ec4dc68e0:foreman] INFO > o.a.drill.exec.work.foreman.Foreman - Query text for query id > 288f45e9-44ad-bc5e-3247-3e0ec4dc68e0: select > CONVERT_FROM(binary_string(columns[0]),'INTEGER') from `binStrDuplcs.csv` > 2016-06-27 05:31:02,558 [288f45e9-44ad-bc5e-3247-3e0ec4dc68e0:foreman] ERROR > o.a.drill.exec.work.foreman.Foreman - SYSTEM ERROR: > StringIndexOutOfBoundsException: String index out of range: -5 > [Error Id: 7e8fd49d-c6ac-40ac-849e-cf59145ed5dd on centos-01.qa.lab:31010] > org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: > StringIndexOutOfBoundsException: String index out of range: -5 > [Error Id: 7e8fd49d-c6ac-40ac-849e-cf59145ed5dd on centos-01.qa.lab:31010] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at > org.apache.drill.exec.work.foreman.Foreman$ForemanResult.close(Foreman.java:791) > [drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at > org.apache.drill.exec.work.foreman.Foreman.moveToState(Foreman.java:901) > [drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:271) > [drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [na:1.8.0_91] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [na:1.8.0_91] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91] > Caused by: org.apache.drill.exec.work.foreman.ForemanException: Unexpected > exception during fragment initialization: String index out of range: -5 > ... 4 common frames omitted > Caused by: java.lang.StringIndexOutOfBoundsException: String index out of > range: -5 > at java.lang.String.substring(String.java:1931) ~[na:1.8.0_91] > at > org.apache.drill.exec.planner.logical.PreProcessLogicalRel.getConvertFunctionException(PreProcessLogicalRel.java:244) > ~[drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at > org.apache.drill.exec.planner.logical.PreProcessLogicalRel.visit(PreProcessLogicalRel.java:148) > ~[drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at > org.apache.calcite.rel.logical.LogicalProject.accept(LogicalProject.java:132) > ~[calcite-core-1.4.0-drill-r11.jar:1.4.0-drill-r11] > at > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.preprocessNode(DefaultSqlHandler.java:634) > ~[drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:196) > ~[drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:164) > ~[drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at > org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:94) > ~[drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at > org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:978) > [drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:257) > [drill-java-exec-1.7.0-SNAPSHOT.jar:1.7.0-SNAPSHOT] > ... 3 common frames omitted > {noformat} > Data used in test > {noformat} > [root@centos-01 ~]# cat binStrDuplcs.csv > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > '\\x99\\x8c\\x2f\\x77' > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)