drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-3854) IOB Exception : CONVERT_FROM (sal, int_be)
Date Sun, 15 Nov 2015 02:03:10 GMT

    [ https://issues.apache.org/jira/browse/DRILL-3854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15005712#comment-15005712
] 

ASF GitHub Bot commented on DRILL-3854:
---------------------------------------

Github user jacques-n commented on a diff in the pull request:

    https://github.com/apache/drill/pull/256#discussion_r44866502
  
    --- Diff: pom.xml ---
    @@ -403,7 +403,7 @@
               <configuration>
                 <argLine>-Xms512m -Xmx3g -Ddrill.exec.http.enabled=false
                   -Ddrill.exec.sys.store.provider.local.write=false
    -              -Dorg.apache.drill.exec.server.Drillbit.system_options="org.apache.drill.exec.compile.ClassTransformer.scalar_replacement=on"
    +              -Dorg.apache.drill.exec.server.Drillbit.system_options="org.apache.drill.exec.compile.ClassTransformer.scalar_replacement=try"
    --- End diff --
    
    Let me expound. We have Drill setup so that tests execute with scalar replacement fails
the test if it fails. This is to ensure that we don't accidentally break the scalar replacement
functionality. There are a small number of situations where scalar replacement functionality
doesn't work (certain expression patterns). For those tests, (and only those tests), we set
scalar replacement to "try" manually as part of those tests. The try behavior is for scalar
replacement to silently fail. 
    
    I think there must be more dynamics on this bug. In your example here, you aren't actually
changing the production behavior at all. The only change you made was to how we run tests.
The change you made means that the tests are running the same as what people would expect
in production. If your test above passes with "try" and you don't get an exception, that means
that everything is working as it should be (e.g. no bug). However, Khurram is claiming that
the query fails in production (try) mode. It sounds like you should work with him to understand
whether his setup. It may be that it is accidentally in "on" instead of "try". If he is in
"try" mode, then your test is not reproducing the problem.  Otherwise, this patch would fail
to execute.


> IOB Exception : CONVERT_FROM (sal, int_be)
> ------------------------------------------
>
>                 Key: DRILL-3854
>                 URL: https://issues.apache.org/jira/browse/DRILL-3854
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Flow
>    Affects Versions: 1.2.0
>         Environment: 4 node cluster CentOS
>            Reporter: Khurram Faraaz
>            Assignee: Sean Hsuan-Yi Chu
>            Priority: Critical
>             Fix For: 1.4.0
>
>         Attachments: log, run_time_code.txt
>
>
> CONVERT_FROM function results in IOB Exception
> Drill master commit id : b9afcf8f
> {code}
> 0: jdbc:drill:schema=dfs.tmp> select salary from Emp;
> +---------+
> | salary  |
> +---------+
> | 80000   |
> | 90000   |
> | 200000  |
> | 95000   |
> | 85000   |
> | 90000   |
> | 100000  |
> | 87000   |
> | 80000   |
> | 100000  |
> | 99000   |
> +---------+
> 11 rows selected (0.535 seconds)
> # create table using above Emp table
> create table tbl_int_be as select convert_to(salary, 'int_be') sal from Emp;
> 0: jdbc:drill:schema=dfs.tmp> alter session set `planner.slice_target`=1;
> +-------+--------------------------------+
> |  ok   |            summary             |
> +-------+--------------------------------+
> | true  | planner.slice_target updated.  |
> +-------+--------------------------------+
> 1 row selected (0.19 seconds)
> # Below query results in IOB on server.
> 0: jdbc:drill:schema=dfs.tmp> select convert_from(sal, 'int_be') from tbl_int_be order
by sal;
> Error: SYSTEM ERROR: IndexOutOfBoundsException: DrillBuf(ridx: 0, widx: 158, cap: 158/158,
unwrapped: SlicedByteBuf(ridx: 0, widx: 158, cap: 158/158, unwrapped: UnsafeDirectLittleEndian(PooledUnsafeDirectByteBuf(ridx:
0, widx: 0, cap: 417/417)))).slice(158, 44)
> Fragment 2:0
> [Error Id: 4ee1361d-9877-45eb-bde6-57d5add9fe5e on centos-04.qa.lab:31010] (state=,code=0)
> # Apply convert_from function and project original column results in IOB on client. (because
Error Id is missing)
> 0: jdbc:drill:schema=dfs.tmp> select convert_from(sal, 'int_be'), sal from tbl_int_be;
> Error: Unexpected RuntimeException: java.lang.IndexOutOfBoundsException: DrillBuf(ridx:
0, widx: 114, cap: 114/114, unwrapped: DrillBuf(ridx: 321, widx: 321, cap: 321/321, unwrapped:
UnsafeDirectLittleEndian(PooledUnsafeDirectByteBuf(ridx: 0, widx: 0, cap: 321/321)))).slice(55,
103) (state=,code=0)
> {code}



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

Mime
View raw message