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