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

Kokila N updated HIVE-29819:
----------------------------
    Description: 
Fails for both vectorization and non-vectorization, diff errrors but root cause 
is same
*Repro Steps:*
{code:java}
set hive.vectorized.execution.enabled=false;
create external table iceberg_cow_partitioned (
index int,
string_col string,
boolean_col boolean,
str_col string,
tinyint_col int
) partitioned by spec(str_col, tinyint_col)
stored by iceberg
tblproperties ('write.update.mode'='copy-on-write');

insert into iceberg_cow_partitioned partition (str_col, tinyint_col)
values (1, 'a', true, null, 0); 

update iceberg_cow_partitioned set str_col = 'UPDATED NULLS' where str_col is 
null;

select * from iceberg_cow_partitioned;{code}
*Error during update query:* 
{code:java}
Caused by: java.lang.RuntimeException: cannot find field str_col from 
[org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@569fe99d,
 
org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@6a1ee058,
 
org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@65e4492b,
 
org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@3b974f89,
 
org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@12ed8a67,
 
org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@f6cb442,
 
org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@48061995]
        at 
org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.getStandardStructFieldRef(ObjectInspectorUtils.java:554)
        at 
org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector.getStructFieldRef(UnionStructObjectInspector.java:130)
        at 
org.apache.hadoop.hive.ql.exec.ExprNodeColumnEvaluator.initialize(ExprNodeColumnEvaluator.java:57)
        at 
org.apache.hadoop.hive.ql.exec.ExprNodeGenericFuncEvaluator.initialize(ExprNodeGenericFuncEvaluator.java:163)
        at 
org.apache.hadoop.hive.ql.exec.ExprNodeGenericFuncEvaluator.initialize(ExprNodeGenericFuncEvaluator.java:163)
        at 
org.apache.hadoop.hive.ql.exec.FilterOperator.process(FilterOperator.java:82)
        at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:889)
        at 
org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:182)
        at 
org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:157)
        at 
org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:559)
        ... 20 more{code}
 

> Iceberg COW: Update query with predicate is null for partitioned column fails
> -----------------------------------------------------------------------------
>
>                 Key: HIVE-29819
>                 URL: https://issues.apache.org/jira/browse/HIVE-29819
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Kokila N
>            Assignee: Kokila N
>            Priority: Major
>              Labels: pull-request-available
>
> Fails for both vectorization and non-vectorization, diff errrors but root 
> cause is same
> *Repro Steps:*
> {code:java}
> set hive.vectorized.execution.enabled=false;
> create external table iceberg_cow_partitioned (
> index int,
> string_col string,
> boolean_col boolean,
> str_col string,
> tinyint_col int
> ) partitioned by spec(str_col, tinyint_col)
> stored by iceberg
> tblproperties ('write.update.mode'='copy-on-write');
> insert into iceberg_cow_partitioned partition (str_col, tinyint_col)
> values (1, 'a', true, null, 0); 
> update iceberg_cow_partitioned set str_col = 'UPDATED NULLS' where str_col is 
> null;
> select * from iceberg_cow_partitioned;{code}
> *Error during update query:* 
> {code:java}
> Caused by: java.lang.RuntimeException: cannot find field str_col from 
> [org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@569fe99d,
>  
> org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@6a1ee058,
>  
> org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@65e4492b,
>  
> org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@3b974f89,
>  
> org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@12ed8a67,
>  
> org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@f6cb442,
>  
> org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector$MyField@48061995]
>         at 
> org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.getStandardStructFieldRef(ObjectInspectorUtils.java:554)
>         at 
> org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector.getStructFieldRef(UnionStructObjectInspector.java:130)
>         at 
> org.apache.hadoop.hive.ql.exec.ExprNodeColumnEvaluator.initialize(ExprNodeColumnEvaluator.java:57)
>         at 
> org.apache.hadoop.hive.ql.exec.ExprNodeGenericFuncEvaluator.initialize(ExprNodeGenericFuncEvaluator.java:163)
>         at 
> org.apache.hadoop.hive.ql.exec.ExprNodeGenericFuncEvaluator.initialize(ExprNodeGenericFuncEvaluator.java:163)
>         at 
> org.apache.hadoop.hive.ql.exec.FilterOperator.process(FilterOperator.java:82)
>         at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:889)
>         at 
> org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:182)
>         at 
> org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:157)
>         at 
> org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:559)
>         ... 20 more{code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to