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

Eugene Koifman commented on HIVE-11716:
---------------------------------------

I think you need to use AcidUtil.isTablePropertyTransactional() to see if table 
is transactional rather than AcidUtils.isAcidTable(tab).  The later will return 
false for table that was non-acid-to-acid upgraded but w/o major compaction 
having been run.  Maybe even better to define a new isAcidTable(Table t) method 
which checks that it's bucketed, implements AcidInput/AcidOutputFormat and has 
the transactional=true.

Also, SemanticAnalyzer.isAcidTable() should delegate to new method (or be 
removed) or at minimum not check the which TxnManager is installed

> Reading ACID table from non-acid session should raise an error
> --------------------------------------------------------------
>
>                 Key: HIVE-11716
>                 URL: https://issues.apache.org/jira/browse/HIVE-11716
>             Project: Hive
>          Issue Type: Bug
>          Components: Transactions
>    Affects Versions: 1.0.0
>            Reporter: Eugene Koifman
>            Assignee: Wei Zheng
>            Priority: Critical
>         Attachments: HIVE-11716.1.patch, HIVE-11716.2.patch
>
>
> if someone performs a delete using DbTxnManager and than starts a new session 
> with DummyTxnManager, then previously successfully deleted data will show up.
> Once the logic to identify all acid tables being read is there, make sure that
> Driver.recordValidTxns() called iff there ACID tables in the query.
> We should also not allow writing to ACID table from non-acid session



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

Reply via email to