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