Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-3261

Support updates and deletes in transactions

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • tablet, transactions
    • None

    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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            awong Andrew Wong
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: