You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Jinfeng Ni (JIRA)" <ji...@apache.org> on 2015/07/08 03:04:04 UTC

[jira] [Comment Edited] (DRILL-2053) Column names are case sensitive if column is coming from WITH clause

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

Jinfeng Ni edited comment on DRILL-2053 at 7/8/15 1:04 AM:
-----------------------------------------------------------

Interesting, on master branch, this query runs successfully

{code}
select n_nationkey as a, n_nationkey as A from cp.`tpch/nation.parquet`;
{code}

But this query hit memory leak

{code}
select n_nationkey as a, n_name as A from cp.`tpch/nation.parquet`;
java.lang.RuntimeException: java.sql.SQLException: SYSTEM ERROR: IllegalStateException: Attempted to close accountor with 1 buffer(s) still allocatedfor QueryId: 2a6389d2-ee5d-9b1d-fe6d-9e9d3b545040, MajorFragmentId: 0, MinorFragmentId: 0.
{code}

Again, I think this memory leak is a different issue than DRILL-2053. 

If you agree, we probably should open new JIRA to track blocking of column ambiguous issue, and the memory leak issues.

Also, the memory also happens on the patch of DRILL-2053. 



was (Author: jni):
Interesting, on master branch, this query runs successfully

{code}
select n_nationkey as a, n_nationkey as A from cp.`tpch/nation.parquet`;
{code}

But this query hit memory leak

{code}
select n_nationkey as a, n_name as A from cp.`tpch/nation.parquet`;
java.lang.RuntimeException: java.sql.SQLException: SYSTEM ERROR: IllegalStateException: Attempted to close accountor with 1 buffer(s) still allocatedfor QueryId: 2a6389d2-ee5d-9b1d-fe6d-9e9d3b545040, MajorFragmentId: 0, MinorFragmentId: 0.
{code}

Again, I think this memory leak is a different issue than DRILL-2053. 

If you agree, we probably should open new JIRA to track blocking of column ambiguous issue, and the memory leak issues.



> Column names are case sensitive if column is coming from WITH clause
> --------------------------------------------------------------------
>
>                 Key: DRILL-2053
>                 URL: https://issues.apache.org/jira/browse/DRILL-2053
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>    Affects Versions: 0.8.0
>            Reporter: Victoria Markman
>            Assignee: Aman Sinha
>            Priority: Critical
>             Fix For: 1.2.0
>
>         Attachments: 0003-DRILL-2053-Fix-incorrect-query-result-when-join-CTE-.patch
>
>
> test.json
> {code}
> {"customerid":100,"customername":"AAA"}
> {"customerid":101,"customername":"BBB"}
> {"customerid":102,"customername":"CCC"}
> {code}
> Wrong result:
> {code}
> 0: jdbc:drill:schema=dfs> with a as ( select * from `test.json` ) select * from a, `test.json` b where a.CUSTOMERID = b.CUSTOMERID;
> +------------+--------------+-------------+---------------+
> | customerid | customername | customerid0 | customername0 |
> +------------+--------------+-------------+---------------+
> +------------+--------------+-------------+---------------+
> No rows selected (0.202 seconds)
> {code}
> Correct result, when column name matches the case of the column name in the json file:
> {code}
> 0: jdbc:drill:schema=dfs> with a as ( select * from `test.json` ) select * from a, `test.json` b where a.customerid = b.customerid;
> +------------+--------------+-------------+---------------+
> | customerid | customername | customerid0 | customername0 |
> +------------+--------------+-------------+---------------+
> | 100        | AAA          | 100         | AAA           |
> | 101        | BBB          | 101         | BBB           |
> | 102        | CCC          | 102         | CCC           |
> +------------+--------------+-------------+---------------+
> 3 rows selected (0.204 seconds)
> {code}
> Correct result when column does not match case, but is coming directly from the table:
> {code}
> 0: jdbc:drill:schema=dfs> with a as ( select * from `test.json` ) select * from a, `test.json` b where a.customerid = b.customerID;
> +------------+--------------+-------------+---------------+
> | customerid | customername | customerid0 | customername0 |
> +------------+--------------+-------------+---------------+
> | 100        | AAA          | 100         | AAA           |
> | 101        | BBB          | 101         | BBB           |
> | 102        | CCC          | 102         | CCC           |
> +------------+--------------+-------------+---------------+
> 3 rows selected (0.197 seconds)
> {code}
> If you change case of a column name that comes from subquery (WITH clause), this is where it goes all wrong:
> {code}
> 0: jdbc:drill:schema=dfs> with a as ( select * from `test.json` ) select * from a, `test.json` b where a.Customerid = b.customerid;
> +------------+--------------+-------------+---------------+
> | customerid | customername | customerid0 | customername0 |
> +------------+--------------+-------------+---------------+
> +------------+--------------+-------------+---------------+
> No rows selected (0.186 seconds)
> {code}



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