Venugopal Reddy K created HIVE-29512:
----------------------------------------

             Summary: COMPACTION_QUEUE and COMPLETED_COMPACTIONS table entries 
are not cleared upon iceberg table delete
                 Key: HIVE-29512
                 URL: https://issues.apache.org/jira/browse/HIVE-29512
             Project: Hive
          Issue Type: Bug
          Components: Hive
            Reporter: Venugopal Reddy K


*[Description]*

COMPACTION_QUEUE and COMPLETED_COMPACTIONS table entries are not cleared when 
an iceberg table is deleted. Hence such entries can keep on accumulating over 
time.

 

*[Steps to reproduce]* **

 
{code:java}
create database mydb;
use mydb;
create table icet1(i int) stored by iceberg 
tblproperties('compactor.threshold.target.size'='1000');
insert into icet1 values(1),(2),(3);
insert into icet1 values(1),(2),(3);
# Wait for COMPACTION_QUEUE to have an entry for table.
#show compactions; => check state as initiated
drop table icet1;
#show compactions; => Still entry exists and it is in initiated state.
{code}
 

1. If the table is recreated again(without adding data) before compaction is 
triggered, compaction fails with below exception. Error message can be seen in 
show compactions output.

*java.lang.NullPointerException: Cannot invoke 
"org.apache.iceberg.Snapshot.snapshotId()" because the return value of 
"org.apache.iceberg.Table.currentSnapshot()" is null*

2. If the table is not created before compaction is triggered, compaction fails 
with error message. Error message can be seen in show compactions output -

*NoSuchObjectException(message:hive.mydb.icet1 table not found)*

Note: In both the cases, COMPACTION_QUEUE entry for the table is moved to 
COMPLETED_COMPACTIONS upon compaction failure.



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

Reply via email to