[ 
https://issues.apache.org/jira/browse/KUDU-3261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Wong updated KUDU-3261:
------------------------------
    Description: 
Kudu currently only supports multi-row, multi-partition transactions for INSERT 
and INSERT_IGNORE operations. We should consider extending the Kudu tablet 
store to support:
 - Tracking Mutations in the MRS that are associated with a transaction
 - Maintaining a separate DeltaTracker (i.e. DMS and multiple DeltaFiles) per 
rowset per transaction. These delta trackers should be merged with the main 
delta trackers of each DRS. I'm not sure if it will be helpful, but I have a 
patch to encapsulate some of the delta applying logic – I suspect it might be 
useful in defining a delta iterator that spits out delta keys with a singular 
timestamp, as well as for defining a "mergeable" delta input (note we have a 
merge now, but it does a simple sequential merge of delta stores with the 
assumption that the input iterators are disjoint by timestamp, which may not be 
the case if we have transactional delta trackers that overlap in time with the 
main delta tracker).

The DeltaReaders for the DRSs should consider the transaction's finalized 
commit timestamp (or lack thereof) in the same way that the MRS iterator 
considers mutations in the context of a snapshot.

  was:
Kudu currently only supports multi-row, multi-partition transactions for INSERT 
and INSERT_IGNORE operations. We should consider extending the Kudu tablet 
store to support:
 - Tracking Mutations in the MRS that are associated with a transaction
 - Maintaining a separate DeltaTracker (i.e. DMS and multiple DeltaFiles) per 
rowset per transaction

The DeltaReaders for the DRSs should consider the transaction's finalized 
commit timestamp (or lack thereof) in the same way that the MRS iterator 
considers mutations in the context of a snapshot.


> Support updates and deletes in transactions
> -------------------------------------------
>
>                 Key: KUDU-3261
>                 URL: https://issues.apache.org/jira/browse/KUDU-3261
>             Project: Kudu
>          Issue Type: Improvement
>          Components: tablet, transactions
>            Reporter: Andrew Wong
>            Priority: Major
>
> Kudu currently only supports multi-row, multi-partition transactions for 
> INSERT and INSERT_IGNORE operations. We should consider extending the Kudu 
> tablet store to support:
>  - Tracking Mutations in the MRS that are associated with a transaction
>  - Maintaining a separate DeltaTracker (i.e. DMS and multiple DeltaFiles) per 
> rowset per transaction. These delta trackers should be merged with the main 
> delta trackers of each DRS. I'm not sure if it will be helpful, but I have a 
> patch to encapsulate some of the delta applying logic – I suspect it might be 
> useful in defining a delta iterator that spits out delta keys with a singular 
> timestamp, as well as for defining a "mergeable" delta input (note we have a 
> merge now, but it does a simple sequential merge of delta stores with the 
> assumption that the input iterators are disjoint by timestamp, which may not 
> be the case if we have transactional delta trackers that overlap in time with 
> the main delta tracker).
> The DeltaReaders for the DRSs should consider the transaction's finalized 
> commit timestamp (or lack thereof) in the same way that the MRS iterator 
> considers mutations in the context of a snapshot.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to