[ 
https://issues.apache.org/jira/browse/HIVE-26793?focusedWorklogId=839559&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-839559
 ]

ASF GitHub Bot logged work on HIVE-26793:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 17/Jan/23 10:03
            Start Date: 17/Jan/23 10:03
    Worklog Time Spent: 10m 
      Work Description: deniskuzZ commented on code in PR #3822:
URL: https://github.com/apache/hive/pull/3822#discussion_r1072005883


##########
ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Initiator.java:
##########
@@ -613,8 +613,9 @@ private boolean isEligibleForCompaction(CompactionInfo ci,
         return false;
       }
 
-      if (isNoAutoCompactSet(t.getParameters())) {
-        LOG.info("Table " + tableName(t) + " marked " + 
hive_metastoreConstants.TABLE_NO_AUTO_COMPACT +
+      Map<String, String> dbParams = computeIfAbsent(ci.dbname, () -> 
resolveDatabase(ci)).getParameters();

Review Comment:
   ````
   if (replIsCompactionDisabledForTable(t)) {
           skipTables.add(ci.getFullTableName());
           return false;
   }
   ````
   Would be better if we could refactor the method and use a cache of 
skipTables/skipDBs instead of doing the same evaluation (isNoAutoCompactSet) 
for every Table in skipped Db / every Partition of skipped Table  





Issue Time Tracking
-------------------

    Worklog Id:     (was: 839559)
    Time Spent: 3h 50m  (was: 3h 40m)

> Create a new configuration to override "no compaction" for tables
> -----------------------------------------------------------------
>
>                 Key: HIVE-26793
>                 URL: https://issues.apache.org/jira/browse/HIVE-26793
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Kokila N
>            Assignee: Kokila N
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 3h 50m
>  Remaining Estimate: 0h
>
> Currently a simple user can create a table with 
> {color:#6a8759}no_auto_compaction=true{color} table property and create an 
> aborted write transaction writing to this table. This way a malicious user 
> can prevent cleaning up data for the aborted transaction, creating 
> performance degradation.
> This configuration should be allowed to overridden on a database level: 
> adding {color:#6a8759}no_auto_compaction=false{color} should override the 
> table level setting forcing the initiator to schedule compaction for all 
> tables.



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

Reply via email to