Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
1.2.0
-
None
-
4 node cluster CentOS
Description
CONVERT_FROM function results in IOB Exception
Drill master commit id : b9afcf8f
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)