[
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)