[
https://issues.apache.org/jira/browse/HIVE-18192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sankar Hariappan updated HIVE-18192:
------------------------------------
Description:
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 for
snapshot isolation.
was:
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.
Snapshot isolation should use the combination of ValidTxnList and
ValidWriteIdList for readers.
> 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
>
>
> 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 for
> snapshot isolation.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)