hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Gates (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-18192) Introduce WriteID per table rather than using global transaction ID
Date Wed, 24 Jan 2018 18:20:00 GMT

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

Alan Gates commented on HIVE-18192:
-----------------------------------

I have a question on the design.  I don't understand the MIN_HISTORY_LEVEL table.  In the
doc it says:
{quote} need this to ensure that we don’t remove TXNS2WRITE_ID data before any operation
that started while this txn was open/aborted is still live. This is populated when current_txnid
starts and locks in its ValidTxnList and the entry is removed when this txn commits/aborts.
{quote}
Why does this need to be tracked separately?  There is already logic to determine when an
entry can be removed from TXN_COMPONENTS and COMPLETED_TXN_COMPONENTS.  Can that not be extended
to remove the related entry from TXNS2WRITE_ID?

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

Mime
View raw message