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

Sankar Hariappan edited comment on HIVE-18192 at 2/27/18 5:57 AM:
------------------------------------------------------------------

[~sershe]

If you see "4" for "hive.txn.tables.valid.writeids" means the current txn_id is 
4. We build the ValidWriteIdList only for tables in Read Entities. As it is 
insert operation, there is only WriteEntity and we assume no body reads the 
table and hence didn't bother to build ValidWriteIdList.

Now, I see, you read this table for stats update and so ValidWriteIdList must 
be built for this table. This is a bug. I will raise a ticket to include tables 
from WriteEntities as well while building ValidWriteIdList.

cc [~ekoifman]


was (Author: sankarh):
[~sershe]

If you see "4" for "hive.txn.tables.valid.writeids" means the current txn_id is 
4. Also, we build the ValidWriteIdList only for tables in Read Entities. As it 
is insert operation, there is only WriteEntity and we assume no body reads the 
table and hence didn't bother to build ValidWriteIdList.

Now, I see, you will read this table for stats update which looks like a bug. I 
will raise a ticket to include tables from WriteEntities as well while building 
ValidWriteIdList.

cc [~ekoifman]

> Introduce WriteID per table rather than using global transaction ID
> -------------------------------------------------------------------
>
>                 Key: HIVE-18192
>                 URL: https://issues.apache.org/jira/browse/HIVE-18192
>             Project: Hive
>          Issue Type: Sub-task
>          Components: HiveServer2, Transactions
>    Affects Versions: 3.0.0
>            Reporter: anishek
>            Assignee: Sankar Hariappan
>            Priority: Major
>              Labels: ACID, DR, pull-request-available
>             Fix For: 3.0.0
>
>         Attachments: HIVE-18192.01.patch, HIVE-18192.02.patch, 
> HIVE-18192.03.patch, HIVE-18192.04.patch, HIVE-18192.05.patch, 
> HIVE-18192.06.patch, HIVE-18192.07.patch, HIVE-18192.08.patch, 
> HIVE-18192.09.patch, HIVE-18192.10.patch, HIVE-18192.11.patch, 
> HIVE-18192.12.patch, HIVE-18192.13.patch, HIVE-18192.14.patch, 
> HIVE-18192.15.patch, HIVE-18192.16.patch, HIVE-18192.17.patch
>
>
> To support ACID replication, we will be introducing a per table write Id 
> which will replace the transaction id in the primary key for each row in a 
> ACID table.
> The current primary key is determined via 
>  <original transaction id, bucketid , rowid>
> which will move to 
>  <original write id, bucketid, rowid>
> For each table modified by the given transaction will have a table level 
> write ID allocated and a persisted map of global txn id -> to table -> write 
> id for that table has to be maintained to allow Snapshot isolation.
> Readers should use the combination of ValidTxnList and 
> ValidWriteIdList(Table) for snapshot isolation.
>  
>  [Hive Replication - ACID 
> Tables.pdf|https://issues.apache.org/jira/secure/attachment/12903157/Hive%20Replication-%20ACID%20Tables.pdf]
>  has a section "Per Table Sequences (Write-Id)" with more detials



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to