You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Thomas Tauber-Marshall (JIRA)" <ji...@apache.org> on 2017/09/01 21:45:02 UTC

[jira] [Resolved] (IMPALA-5871) KuduPartitionExpr incorrectly handles its child types

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

Thomas Tauber-Marshall resolved IMPALA-5871.
--------------------------------------------
    Resolution: Fixed

commit 64e28021957f6993aea5ceb3ad626fb577597107
Author: Thomas Tauber-Marshall <tm...@cloudera.com>
Date:   Thu Aug 31 09:15:22 2017 -0700

    IMPALA-5871: KuduPartitionExpr incorrectly handles its child types
    
    KuduPartitionExpr takes input rows and sends them to Kudu to determine
    the partition the rows correspond to in a particular table's
    partitioning scheme. This is then used to partition and sort rows
    before sending them to Kudu when performing an INSERT.
    
    If the input types are not the same as (but are compatible with) the
    types of the columns in the table, we need to cast the input rows.
    KuduPartitionExpr.analyze() actually already does this, but the casts
    are dropped for the sort step during the INSERT in most cases.
    
    As a result, attempting to insert a string value into a Kudu timestamp
    column causes a crash.
    
    Inserting a numeric value into a different but compatibly typed col
    (eg. tinyint into an int col) will cause the sort during a Kudu INSERT
    to operate on garbage values, potentially degrading performance and
    causing INSERTs to fail due to Kudu timeouts (see IMPALA-3742).
    
    Testing:
    - Added an e2e test in kudu_insert.test
    
    Change-Id: I44cf31e46a77f3e7c92cf6b9112653808a001705
    Reviewed-on: http://gerrit.cloudera.org:8080/7922
    Reviewed-by: Alex Behm <al...@cloudera.com>
    Tested-by: Impala Public Jenkins

> KuduPartitionExpr incorrectly handles its child types
> -----------------------------------------------------
>
>                 Key: IMPALA-5871
>                 URL: https://issues.apache.org/jira/browse/IMPALA-5871
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Frontend
>    Affects Versions: Impala 2.10.0
>            Reporter: Thomas Tauber-Marshall
>            Assignee: Thomas Tauber-Marshall
>            Priority: Blocker
>              Labels: crash, kudu
>
> KuduPartitionExpr takes input rows and sends them to Kudu to determine the partition the rows correspond to in a particular table's partitioning scheme.
> If the input types are not the same as (but are compatible with) the types of the columns in the table, we need to cast the input rows. KuduPartitionExpr.analyze actually already does this, but the casts may be dropped in some cases, leading to a crash in the BE.
> In particular, attempting to insert a string value into a Kudu timestamp column fails.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)