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

Simplify KuduSession mutation buffer/flush watermark pct API

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 1.0.0
    • n/a
    • client
    • None

    Description

      The API to configure the KuduSession memory is very confusing. It's not obvious how to pick good values for SetMutationBufferSpace(), SetMutationBufferMaxNum(), and SetMutationBufferFlushWatermark(). My understanding is that a user might:

      • pick some amount of memory M to be used for the mutation buffer space, though this isn't obvious (high values increase throughput, but too high and the writes may overwhelm tservers)
      • set the flush watermark pct to (1/NumBuffers) where NumBuffers = ( M / 7MB) , and where 7MB is Kudu's internal buffer size
        (formula from tlipcon)
      • Set SetMutationBufferMaxNum(0) since the max buffers wouldn't be necessary.

      This is what Impala does at the moment, but this is very complicated.

      Attachments

        Activity

          People

            aserbin Alexey Serbin
            mjacobs Matthew Jacobs
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: