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

Eugene Koifman updated HIVE-14350:
----------------------------------
    Description: 
this is a followup to HIVE-13369.  Only open txns should prevent use of a base 
file.  But ValidTxnList does not make a distinction between open and aborted 
txns.  The presence of aborted txns causes false positives which can happen too 
often since the flow is 
1. Worker generates a new base file, 
2. then asynchronously Cleaner removes now-compacted aborted txns.  (strictly 
speaking it's Initiator that does the actual clean up)

So we may have base_5 and base_10 and txnid 7 aborted.  Then current impl will 
disallow use of base_10 though there is no need for that.  Worse, if txnid_4 is 
aborted and hasn't been purged yet, base_5 will be rejected as well and then an 
error will be raised since there is no suitable base file left.

ErrorMsg.ACID_NOT_ENOUGH_HISTORY is msg produced

  was:
this is a followup to HIVE-13369.  Only open txns should prevent use of a base 
file.  But ValidTxnList does not make a distinction between open and aborted 
txns.  The presence of aborted txns causes false positives which can happen too 
often since the flow is 1. Worker generates a new base file, then 
asynchronously Cleaner removes now-compacted aborted txns.  So we may have 
base_5 and base_10 and txnid 7 aborted.  Then current impl will disallow use of 
base_10 though there is no need for that.  Worse, if txnid_4 is aborted and 
hasn't been purged yet, base_5 will be rejected as well and then an error will 
be raised since there is no suitable base file left.

ErrorMsg.ACID_NOT_ENOUGH_HISTORY is msg produced


> Aborted txns cause false positive "Not enough history available..." msgs
> ------------------------------------------------------------------------
>
>                 Key: HIVE-14350
>                 URL: https://issues.apache.org/jira/browse/HIVE-14350
>             Project: Hive
>          Issue Type: Bug
>          Components: Transactions
>    Affects Versions: 1.3.0, 2.1.1
>            Reporter: Eugene Koifman
>            Assignee: Eugene Koifman
>            Priority: Critical
>         Attachments: HIVE-14350.2.patch, HIVE-14350.3.patch
>
>
> this is a followup to HIVE-13369.  Only open txns should prevent use of a 
> base file.  But ValidTxnList does not make a distinction between open and 
> aborted txns.  The presence of aborted txns causes false positives which can 
> happen too often since the flow is 
> 1. Worker generates a new base file, 
> 2. then asynchronously Cleaner removes now-compacted aborted txns.  (strictly 
> speaking it's Initiator that does the actual clean up)
> So we may have base_5 and base_10 and txnid 7 aborted.  Then current impl 
> will disallow use of base_10 though there is no need for that.  Worse, if 
> txnid_4 is aborted and hasn't been purged yet, base_5 will be rejected as 
> well and then an error will be raised since there is no suitable base file 
> left.
> ErrorMsg.ACID_NOT_ENOUGH_HISTORY is msg produced



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

Reply via email to