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

Quanlong Huang resolved IMPALA-15346.
-------------------------------------
    Fix Version/s: Impala 5.0.0
       Resolution: Fixed

> IllegalStateException in createInsertEvents when inserting empty results into 
> an unpartitioned table
> ----------------------------------------------------------------------------------------------------
>
>                 Key: IMPALA-15346
>                 URL: https://issues.apache.org/jira/browse/IMPALA-15346
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Catalog
>            Reporter: Quanlong Huang
>            Assignee: Quanlong Huang
>            Priority: Major
>             Fix For: Impala 5.0.0
>
>
> Saw an IllegalStateException in catalogd logs of 
> query_test/test_insert_behaviour.py::TestInsertBehaviour::test_insert_select_with_empty_resultset.
>  It's pretty easy to reproduce the issue using an unpartitioned table:
> {code:sql}
> create table empty_tbl (i int);
> insert into empty_tbl select 1 from functional.alltypestiny limit 0;{code}
> In catalogd logs:
> {noformat}
> I20260914 09:24:50.147665 69505 JniUtil.java:181] 
> 03450364b05b0caf:38045f1900000000] updateCatalog request: Update catalog for 
> default.empty_tbl
> E20260914 09:24:50.148128 69505 CatalogOpExecutor.java:7904] 
> 03450364b05b0caf:38045f1900000000] Failed to fire insert events for table 
> default.empty_tbl
> Java exception follows:
> java.lang.IllegalStateException
>         at 
> com.google.common.base.Preconditions.checkState(Preconditions.java:496)
>         at 
> org.apache.impala.service.CatalogOpExecutor.createInsertEvents(CatalogOpExecutor.java:8183)
>         at 
> org.apache.impala.service.CatalogOpExecutor.updateCatalogImpl(CatalogOpExecutor.java:7901)
>         at 
> org.apache.impala.service.CatalogOpExecutor.updateCatalog(CatalogOpExecutor.java:7753)
>         at 
> org.apache.impala.service.JniCatalog.lambda$updateCatalog$15(JniCatalog.java:558)
>         at 
> org.apache.impala.service.JniCatalogOp.lambda$execAndSerialize$1(JniCatalogOp.java:90)
>         at org.apache.impala.service.JniCatalogOp.execOp(JniCatalogOp.java:58)
>         at 
> org.apache.impala.service.JniCatalogOp.execAndSerialize(JniCatalogOp.java:89)
>         at 
> org.apache.impala.service.JniCatalogOp.execAndSerialize(JniCatalogOp.java:100)
>         at 
> org.apache.impala.service.JniCatalog.execAndSerialize(JniCatalog.java:249)
>         at 
> org.apache.impala.service.JniCatalog.execAndSerialize(JniCatalog.java:263)
>         at 
> org.apache.impala.service.JniCatalog.updateCatalog(JniCatalog.java:557)
> I20260914 09:24:50.151366 69505 HdfsTable.java:1276] 
> 03450364b05b0caf:38045f1900000000] Reloading metadata for all partition(s) of 
> default.empty_tbl (INSERT)
> I20260914 09:24:50.151432 69505 HdfsTable.java:3035] 
> 03450364b05b0caf:38045f1900000000] Load Valid Write Id List Done. Time taken: 
> 2.079us
> I20260914 09:24:50.152450 69505 HdfsTable.java:799] 
> 03450364b05b0caf:38045f1900000000] Loaded file and block metadata for 
> default.empty_tbl. Time taken: 812.141us. 
> I20260914 09:24:50.152523 69505 HdfsTable.java:1325] 
> 03450364b05b0caf:38045f1900000000] Incrementally loaded table metadata for: 
> default.empty_tbl
> I20260914 09:24:50.152606 69505 HdfsTable.java:3131] 
> 03450364b05b0caf:38045f1900000000] Setting the catalog version of 
> HdfsTable@2c66125f default.empty_tbl to 2399 
> I20260914 09:24:50.152704 69505 JniUtil.java:192] 
> 03450364b05b0caf:38045f1900000000] Finished updateCatalog request: Update 
> catalog for default.empty_tbl. Time spent: 5ms{noformat}
> This won't fail the INSERT since all exceptions thrown from 
> createInsertEvents() are swallowed. But it's confusing and not firing an 
> INSERT event as expected. Though the event is probably redundent, that's 
> another issue. Hive also fires an empty INSERT event when the insert result 
> set is empty.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to