[ 
https://issues.apache.org/jira/browse/HIVE-8258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14153690#comment-14153690
 ] 

Eugene Koifman commented on HIVE-8258:
--------------------------------------

Review Comments:
1. TestCleaner has 3 unused imports
2. Cleaner: comment at lines 74-78:  I think it would be good to elaborate on 
why this works.  Something like "any readers that acquired new locks on the 
same partition will not read files we are trying to delete since they will have 
been merged into other deltas/base by compaction and AcidUtils.getAcidState() 
has the logic to do that"
3. Cleaner line 86:  {noformat}if (!compactId2LockMap.containsKey(ci.id)) 
{{noformat} - I don't think this is the right map to use here
4. The cleaner may be in removeFiles() doing fs.delete() while some reader may 
be calling AcidUtils.getAcidState() at exactly the same.  Is this a race 
condition that can cause problems?  You get a list of files in getAcidState() 
but by the time you query the metadata about one such file it's deleted by the 
cleaner.  Is the FS flexible enough for this?


> Compactor cleaners can be starved on a busy table or partition.
> ---------------------------------------------------------------
>
>                 Key: HIVE-8258
>                 URL: https://issues.apache.org/jira/browse/HIVE-8258
>             Project: Hive
>          Issue Type: Bug
>          Components: Transactions
>    Affects Versions: 0.13.1
>            Reporter: Alan Gates
>            Assignee: Alan Gates
>            Priority: Critical
>         Attachments: HIVE-8258.patch
>
>
> Currently the cleaning thread in the compactor does not run on a table or 
> partition while any locks are held on this partition.  This leaves it open to 
> starvation in the case of a busy table or partition.  It only needs to wait 
> until all locks on the table/partition at the time of the compaction have 
> expired.  Any jobs initiated after that (and thus any locks obtained) will be 
> for the new versions of the files.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to